【问题标题】:Can't set view outlet in xib无法在 xib 中设置视图插座
【发布时间】:2015-02-10 14:03:07
【问题描述】:

我有一个包含视图控制器的 xib 文件,但我遇到与此链接相同的问题:problem

在这个答案中,他们可以轻松设置插座,因为视图有一个可点击的圆圈。但在我的情况下,视图插座甚至不可点击。所以我无法设置插座。现在该怎么办?

【问题讨论】:

  • 像这样加载 xib 解决了它:MyViewController *vc = [[MyViewController alloc] init]; NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"myNibName" owner:self options:nil]; vc = [nib objectAtIndex:0]; 在此之后我不需要为视图设置出口。
  • 我使用的是MyViewController *vc = [[MyViewController alloc] initWithNibName:@"myNibName" bundle:nil];,它希望我为视图设置一个出口
  • 你能用 .h 和 .m 文件共享你的项目或 xib 文件吗?你在 Interface Builder 中 100% 错误配置了一些东西

标签: ios cocoa-touch view xib outlet


【解决方案1】:

使用initWithNibName:: 的正确方法是拥有一个“查看”IB 文档,其中您有所需的VC 视图出口作为根元素。您需要将“文件所有者”“类”设置为您的UIViewController 子类并将其连接到view 插座:

此外,不要在viewDidLoad 处显示来自self 的模态VC:在执行此方法时,VC 通常还没有出现,viewDidAppear: 更适合此类测试。

【讨论】:

  • 我在viewDidLoad 中写它的原因是为了创建一个快速参考项目来说明我在问题中的意思。但是感谢您的“必须查看使用initWithNibName”回答。有道理。
【解决方案2】:

我遇到了同样的问题,但是这个或任何其他解决方案似乎都不起作用 - 我最终将自定义类设置为 UIViewController,按照问题链接中的描述链接视图,然后将类更改回我打算的实际自定义类名。链接保持不变,从那时起一切正常。

【讨论】:

  • 这到底是什么鬼!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-10
  • 2013-02-17
  • 1970-01-01
  • 2011-06-05
  • 2013-06-23
相关资源
最近更新 更多