Ios Can';t在xib中设置视图出口
我有一个包含视图控制器的xib文件,但我有与此链接相同的问题:Ios Can';t在xib中设置视图出口,ios,cocoa-touch,view,xib,outlet,Ios,Cocoa Touch,View,Xib,Outlet,我有一个包含视图控制器的xib文件,但我有与此链接相同的问题: 在这个答案中,他们可以很容易地设置出口,因为视图有一个可单击的圆圈。但在我的情况下,视图出口甚至不可单击。因此我无法设置出口。现在该怎么办?使用initWithNibName::的正确方法是拥有一个“视图”IB文档,其中您有所需的VC视图outlet作为根元素。您需要将“文件所有者”类设置为UIViewController子类,并将其连接到viewoutlet: 另外,不要在viewdiload处显示来自self的模态VC:在执行
在这个答案中,他们可以很容易地设置出口,因为视图有一个可单击的圆圈。但在我的情况下,视图出口甚至不可单击。因此我无法设置出口。现在该怎么办?使用
initWithNibName::
的正确方法是拥有一个“视图”IB文档,其中您有所需的VC
视图outlet作为根元素。您需要将“文件所有者”类设置为UIViewController
子类,并将其连接到view
outlet:
另外,不要在
viewdiload
处显示来自self
的模态VC:在执行此方法时,VC通常还没有显示出来,viewdilease:
更适合此类测试。我也有同样的问题,但这和任何其他解决方案似乎都不起作用——我最后做的是将自定义类设置为UIViewController,按照问题链接中的描述链接视图,然后将类更改回我想要的实际自定义类名。链接保持不变,从那时起一切正常。像这样加载xib解决了它:MyViewController*vc=[[MyViewController alloc]init];NSArray*nib=[[NSBundle mainBundle]loadNibNamed:@“myNibName”所有者:自选项:nil];vc=[nib objectAtIndex:0]代码>在此之后,我不需要为视图设置出口。我使用的是MyViewController*vc=[[MyViewController alloc]initWithNibName:@“myNibName”bundle:nil]
它希望我为视图设置一个出口。您可以将您的项目或xib文件与.h和.m文件共享吗?您100%错误配置了Interface Builder中的某些内容。我在viewDidLoad
中编写它的原因是创建一个快速参考项目,以显示我在问题中的意思。但感谢您给出的“必须是视图才能使用initWithNibName
”的答案。这很有意义。真见鬼!