2013-11-20 26 views
1

我有一个笔尖文件,其中我添加了2个视图。现在,我想在我的代码中初始化(init)我的第二个视图,因为我在initate之后一次又一次地显示它。所以当我尝试加载nib文件时:UINib文件不应该启动,直到我告诉ime初始化

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中声明的所有对象都将被加载。

如果你不想要这个,那么你将需要为这两个视图创建单独的笔尖。

+0

感谢您的回复,但我怎么能写入initWithCoder请写一​​些代码行在这里和initWithCoder我们可以得到第二个nib文件? –

+0

请解释你的自我? 'initWithCoder:'是你的观点的'init'。它与你的问题无关。您在一个NIB中有2个视图,但您只需要加载一个视图。你不应该在一个NIB中拥有它们。因为如果一个NIB得到加载,它将实例化在该NIB中声明的所有对象。 – rckoenes

+0

好的,我非常感谢你的观点 –

相关问题