【问题标题】:UINib file should not be initate until i tell hime to initate在我告诉他启动之前,不应启动 UINib 文件
【发布时间】: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];

启动后我成功获得第二个视图。但我的第一个观点也表明我不想要。我只想启动第二个视图而不是第一个。现在我为此做什么。

【问题讨论】:

    标签: iphone objective-c uinib


    【解决方案1】:

    instantiateWithOwner: 将调用 nib 文件中所有视图的initWithCoder:。 由于您在 NIB 文件中实例化一个 nib 文件而不是视图,因此将加载 NIB 中声明的所有对象。

    如果您不希望这样做,则需要为两个视图创建单独的 nib。

    【讨论】:

    • 感谢您的回复,但是我该如何写 initWithCoder 请在这里写一些代码行,在 initWithCoder 中我们可以得到第二个 nib 文件吗?
    • 请解释一下你自己? initWithCoder: 是您的意见的init。与你的问题无关。您在一个 NIB 中有 2 个视图,但您只想加载一个。您不应该将它们放在一个 NIB 中。因为如果一个 NIB 被加载,它将实例化在该 NIB 中声明的所有对象。
    猜你喜欢
    • 1970-01-01
    • 2014-10-13
    • 1970-01-01
    • 2019-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-12
    相关资源
    最近更新 更多