在我告诉他启动之前,不应启动 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 文件的主要内容,如果未能解决你的问题,请参考以下文章

在我告诉你里下载win10安装包?

Docker 启动各个项目

mysql服务不能启动

可以通过观察用户行为来启动/启动应用程序吗?

在启动组件之前获取配置参数

在我的 spring-boot 应用程序启动之前,我如何等待数据库容器启动