- (void)viewDidLoad
{
[super viewDidLoad];
UIView *testView = [[[NSBundle mainBundle] loadNibNamed:@"VBImageView" owner:self options:nil] lastObject];
NSLog(@"%d", [self.view.subviews count]); // result is 1
}
我不明白的是,只需通过调用loadNibNamed
方法实际加载imageView并添加到当前子视图?为什么?有人可以解释一下吗?
我发现在xib文件中,Files's owner
具有视图委托设置,如果我删除了该委托,则视图将不会自动设置。那个观点代表意味着什么呢?
答案 0 :(得分:0)
我做了同样的事情,但记录 0 ,所以我认为你的视图控制器的视图不是空的,你能试试NSLog(@"%@", self.view.subviews)
并向我展示结果吗?
对于第二个问题,该视图出口只是ViewController的属性,该视图在断开连接时不会自动设置,因为您的窗口无法找到要添加的视图。
修改强>
那太有线了,我下载你的源代码并在模拟器上运行它,它也记录 0 。
在loadFromNib
中删除viewDidLoad
方法后,它会记录 2 。然后我发现故事板中有两个指南布局和一个视图。
通过在故事板中删除该视图,它会记录为零。所以我认为这就是原因。但是,我不熟悉故事板,所以我无法完全解释它。关于那个。