我想使用UIView的界限來創建UILabel並將其添加到viewDidLoad方法內的UIView,但是,我發現UIView的邊界在viewDidLoad內仍爲null。但是當我看一個演示應用程序時,其UIView的邊界已經在viewDidLoad中初始化了。iOS的UIView在ViewDidLoad中的界限
在接口方面我有
@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的邊界爲空。
更改此代碼'viewWillAppear'也檢查出口連接 – 2013-05-13 18:05:16
promotionView'的'的邊界是不'nil'。它是'promotionView'本身是'nil'。確保你確實將'promotionView'設置爲正確的視圖。 – rmaddy 2013-05-13 18:06:49
@MidhunMP將這樣的代碼放在'viewWillAppear'中是不合適的。如果其他視圖控制器從導航堆棧中彈出/彈出,則可以多次調用「viewWillAppear」。 – rmaddy 2013-05-13 18:07:30