그것은 당신이 후에 무엇인지 정확하게 달성하기 어렵다 : 여기
내가 (nib 파일은 클래스 이름과 일치해야합니다)를 구현하는 것이 방법이다. nib 사용은 뷰를로드하는 한 가지 방법이며, 다른 방법은 프로그래밍 방식으로 생성하는 것입니다.
그래서, 노력하는 것은 당신이 질문에 대답하기 :
- 네, IB의 신원 경위을 통해 사용자 지정보기와 펜촉을 연결하는 것이 가능하다. 그러나 이것은 또한 "펜촉에서 사용자 정의 UIView 만들기"입니다. 그것은 당신이 찾고있는 것이 아닙니까?
- 뷰 컨트롤러 포함을 사용하여 펜촉에서 뷰를로드 할 필요가 없습니다.
initWithFrame:
을 호출 할 수있는 펜촉은 NSCoder
을 사용해야하며 디스크에서 팽창되어 있기 때문에 펜촉을 전혀 사용하지 않습니다. 대신 -initWithCoder:
을 사용해야합니다.
- 예, 절대적으로 코코아 콩의 사용자 정의보기는 하위보기 (
UIButtons
등)의 이벤트에 응답 할 수 있습니다. 정상적으로 사용자 정의보기 하위 클래스에 IBActions
을 연결합니다. 이는 MVC에 따르면 "규칙"을 위반했을 수도 있지만 뷰 컨트롤러의 일부는 아닙니다.
펜촉에서 맞춤보기를로드하는 것은 어려운 일입니다.온 호출되는 그 시점 initWithCoder
에서
self.customView = [[[NSBundle mainBundle] loadNibNamed:@"View" owner:nil options:nil] lastObject];
:
그런
@property (strong, nonatomic) BBCustomView *customView;
그것을 인스턴스화 (있는 좋은 장소를보기 컨트롤러에서) 사용자 정의보기에 대한 강한 속성을 만들기 사용자 정의보기. 그런 다음 해당 사용자 정의보기를 기존보기 계층 구조에 정상적으로 추가 할 수 있습니다.
nib 파일의 사용자 정의보기에 적절한 클래스를 설정하는 것을 잊지 마십시오.
조금만 더 살펴 보길 바랍니다.
사용자 정의 UIView를 만들고이를 nib에 연결했는지 (사용자가 할 수 있다고 가정) 또는 nib에서 사용자 정의 UIView를로드하는지 여부는 무엇입니까? –
인스펙터에서 사용자 정의 클래스를 설정 한 다음 loadNibNamed를 수행 하시겠습니까? 솔직히, iOS 프로그래밍은 거의하지 않습니다. 사람들이 그것을하는 표준 방법인가요? 나는 다른 기술에 의해 길을 잃고 있었다. – timpone
네, 일반적인 관행입니다. –