在我告诉他启动之前,不应启动 UINib 文件
Posted
技术标签:
【中文标题】在我告诉他启动之前,不应启动 UINib 文件【英文标题】:UINib file should not be initate until i tell hime to initate 【发布时间】:2013-11-20 12:37:42 【问题描述】:我有一个 nib 文件,我在其中添加了 2 个视图。现在,我想在我的代码中初始化(初始化)我的第二个视图,因为我在初始化后一次又一次地显示它。所以当我尝试加载 nib 文件时:
UINib *nib = [UINib nibWithNibName:@"Taxi_Login_View" bundle:nil];
NSArray *nibArray = [nib instantiateWithOwner:self options:nil];
UIView *alert = [nibArray objectAtIndex: 1];
启动后我成功获得第二个视图。但我的第一个观点也表明我不想要。我只想启动第二个视图而不是第一个。现在我为此做什么。
【问题讨论】:
【参考方案1】:instantiateWithOwner:
将调用 nib 文件中所有视图的initWithCoder:
。
由于您在 NIB 文件中实例化一个 nib 文件而不是视图,因此将加载 NIB 中声明的所有对象。
如果您不希望这样做,则需要为两个视图创建单独的 nib。
【讨论】:
感谢您的回复,但是我该如何写 initWithCoder 请在这里写一些代码行,在 initWithCoder 中我们可以得到第二个 nib 文件吗? 请解释一下你自己?initWithCoder:
是您的意见的init
。与你的问题无关。您在一个 NIB 中有 2 个视图,但您只想加载一个。您不应该将它们放在一个 NIB 中。因为如果一个 NIB 被加载,它将实例化在该 NIB 中声明的所有对象。以上是关于在我告诉他启动之前,不应启动 UINib 文件的主要内容,如果未能解决你的问题,请参考以下文章