在 awakeFromNib 中添加子视图

Posted

技术标签:

【中文标题】在 awakeFromNib 中添加子视图【英文标题】:adding subviews in awakeFromNib 【发布时间】:2012-03-18 04:28:57 【问题描述】:

为什么在 awakeFromNib 方法中添加子视图会导致它进入无限循环?应该在哪里添加子视图?谢谢。

- (void)awakeFromNib

     outlineViewController = [[OutlineViewController alloc] initWithNibName:nil bundle:nil];

     NSArray *subViews = [leftView subviews];
     if ([subViews count] > 0)
     
         [[subViews objectAtIndex:0] removeFromSuperview];
     

     [leftView addSubview:outlineViewController.view];

【问题讨论】:

【参考方案1】:

也许是因为

     outlineViewController = [[OutlineViewController alloc] initWithNibName:nil bundle:nil];

调用initFromCoder,然后调用awakeFromNib。如果 OutlineViewController 是您发布的 awakeFromNib 的同一个对象,那么就是这样。

【讨论】:

以上是关于在 awakeFromNib 中添加子视图的主要内容,如果未能解决你的问题,请参考以下文章

awakeFromNib 无法从 UILabel 获取值,也无法禁用 UIButton

在 awakeFromNib() 方法中添加约束

我应该使用哪个,-awakeFromNib 还是 -viewDidLoad?

用于自定义 UITableViewCell 的 awakeFromNib 与 initWithFrame

打破父约束的子视图约束

在 awakeFromNib 中访问视图?