인터페이스 작성기를 사용하여 서브 뷰를 올바르게 초기화하는 데 문제가 있습니다. 나는 다음과 같은 뷰 계층 구조를 가지고있다 (UIWindow -> BlankCanvasView -> StalkerView). BlankCanvasView는 UIView의 서브 클래스에서 StalkerView는 BlankCanvasView하위 뷰가 IB
의 함께 IBOutlet@ 인터페이스의 BlankCanvasView입니다 : {
IBOutlet UIView *stalker;
}
@end
있는 UIView 내가 스토커 사이의 연결을 설립했습니다 BlankCanvasView의 아웃렛과 하위 뷰. 그러나, 내 touchesBegin BlankCanvasView 메서드에서 스토커 콘센트 없음입니다. 접촉에 대해서는 아래를 참조하십시오.
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
NSLog(@"Touch Begin detected!!!");
NSLog(@"Stalker instance %@", stalker);
[UIView beginAnimations:@"StalkerAnimation" context:nil];
UITouch *touch = [touches anyObject];
//stalker is nil here!!!
[stalker setCenter:[touch previousLocationInView:self]];
[UIView commitAnimations];
}
나는 무엇을 놓치고? iTunesU에서 예제를 시도하고 따라 할 때 데모 응용 프로그램 중 아무 것도 하위 뷰를 제대로로드하지 않는 것 같습니다.
안녕 슬레이어, 실제로 단지 바르과 의미를 유지와 속성을 사용하여 그것을 두 가지를 시도했다 : 당신은 당신의보기를 할당 해제 할 때 당신의 BlankCanvasView의 구현 및 전무로 속성을 설정합니다. 두 경우 모두 속성 또는 iVar이 nil입니다. 이 주제에 대한 다른 비슷한 게시물을 살펴보면 UIView 클래스의 awakeFromNib 메서드를 재정의해야하는지 궁금합니다. – lcranf