【问题标题】:IBOutlet to two viewControllers on two storyboards... is that possibleIBOutlet 到两个故事板上的两个视图控制器......这可能吗
【发布时间】:2015-02-11 12:37:20
【问题描述】:

我有一个有两个目标的应用程序,用于 iPhone 和 iPad。

这个项目没有使用尺寸等级。

在 iPhone 版本上,我有一个故事板,其中包含一个名为“termsAndConditions”的视图控制器。这个 viewController 有类文件 termsAndConditions.h 和 .m。

在 termsAndConditions.m 中,我有一个链接到 viewController 上的 textView 的插座。

然后我有了 iPad 的第二个目标。我在那里有相同的 viewController,称为“termsAndConditions”。我的想法是使用 iPhone 版本中相同的类文件 termsAndConditions.h 和 .m 以及其他目标。但是有一个问题。

还记得出口指向 iPhone 故事板 viewController 上的 textView 吗?当我分配 iPad termsAndConditions viewController 使用相同的 iphone 类文件时,它显然可以工作,但是当我尝试访问 iPad 版本上的 textView 时,什么也没有发生。另一方面,当我将鼠标移到实现的插座上时,两个 viewController 上的 textViews、两个故事板上的 textViews 都会突出显示。

显然,类文件出口确实链接到不同故事板上的两个 textView,但这似乎是假的。

有没有办法做到这一点,还是我必须用另一个名称复制 termsAndConditions.h 和 .m 才能在 iPad 故事板上使用?这似乎是一个愚蠢的解决方案。

谢谢。

【问题讨论】:

  • 为什么要为 iPhone 和 Ipad 创建两个不同的文件?
  • 因为 iPad 版本使用 splitViewController 而 iPhone 版本使用不同的方法。

标签: ios iphone storyboard target iboutlet


【解决方案1】:

每个视图控制器可以将 1 个对象连接到您的类。仔细检查您是否正确设置了类;我经常不小心自动完成错误的课程。前任。 TermsAndConditionsTableViewController 而不是 TermsAndConditionsViewController

这个 IBOutlet 连接到三个不同的视图并且对我来说可以正常工作。单击该点以显示连接。有时您需要再次建立连接(很少见,但确实会发生)。

【讨论】:

  • 感谢您让我知道我可以单击该点来查看连接。我是界面构建器的新手。但检查连接后,一切都正确连接。还是不行。
  • 您已在viewDidLoad(或其他设置)中验证该属性为零?
  • 是的,在 iPad 上的 viewDidLoad 中,outlet 是 nil。在 iPhone 上运行良好。
  • 您可以使用不同尺寸等级的标签来执行此操作吗? IE。您能否将一个 IBOutlet 连接到以不同尺寸类别创建的两个位置不同的标签(更准确地说,标签是在相应的尺寸类别中安装和卸载的)?
猜你喜欢
  • 1970-01-01
  • 2013-07-20
  • 2013-01-28
  • 1970-01-01
  • 2013-11-17
  • 1970-01-01
  • 1970-01-01
  • 2018-06-30
  • 1970-01-01
相关资源
最近更新 更多