我在故事板中有两个UIViewControllers(A和B)。 A视图控制器具有属性
@property (nonatomic, retain) IBOutlet UIViewController *viewController;
我想通过故事板链接到B.
插座显示在故事板菜单中的IBOutlets部分下,但我无法链接。 为什么我要这样做但我需要它可能看起来很奇怪。有人知道怎么做吗?
答案 0 :(得分:6)
IBOutlets是单个视图控制器内的连接。创建对视图控制器内对象的引用,以便在代码中使用这些对象。
您无法从一个视图控制器创建IBOutlet到另一个视图控制器。属性是正确的方法,但您必须在代码中分配属性。通常,当一个视图控制器创建另一个时,它可能会设置对自身的引用。
OtherViewController *otherViewController = [OtherViewController alloc] init];
otherViewController.masterViewController = self;
// at this point "otherViewController" has a reference to the current view controller
答案 1 :(得分:0)
现在我明白了我需要做什么。我需要创建一个custom segue来实现与将UINavigationController链接到其他ViewController并标记为RootViewController时相同的结果。它由segue完成,而不是由IBOutlet完成。
答案 2 :(得分:0)
我参加派对有点晚了但是我整理了一个segue课程来帮助完成这项工作。查看git存储库以查看实际的类:https://github.com/datinc/DATOutletSegue。
基本上它使用segue的标识符连接到父控制器