UIView의 경계를 사용하여 UILabel을 만들고이를 viewDidLoad 메서드 내 UIView에 추가하려고했지만 UIView의 경계가 viewDidLoad 내부에서 여전히 null 인 것으로 나타났습니다. 그러나 데모 응용 프로그램을 보면 UIView의 경계가 이미 viewDidLoad에서 초기화되어 있습니다. 인터페이스에서 iOS ViewDidLoad의 UIView 범위
나는@interface ViewController : UIViewController
@property (weak, nonatomic) IBOutlet UIView *promotionView;
@end
을하고 난
- (void)viewDidLoad
{
[super viewDidLoad];
UIView *container = [[UIView alloc] initWithFrame:self.promotionView.bounds];
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(10, container.bounds.size.height-100, 320, 20)];
label.text = @"Promotion Title";
[container addSubview:label];
[self.promotionView addSubview: container];
}
을하려고하지만 promotionView의 경계가 null 있기 때문에 작동하지 않습니다.
변경'viewWillAppear' 또한 콘센트를 확인하기 위해이 코드는 promotionView''의 –
경계를 연결'nil' 수 없습니다. 'promotionView' 자체는'nil'입니다. 실제로'promotionView'를 적절한 시각으로 설정하고 있는지 확인하십시오. – rmaddy
@MidhunMP 이러한 코드를'viewWillAppear'에 넣는 것은 적절하지 않습니다. 'viewWillAppear'는 다른 뷰 컨트롤러가 nav 스택에서 푸시/팝되면 여러 번 호출 될 수 있습니다. – rmaddy