在Storyboard中的SplitView,无法连接委托

Eva*_*ell 9 delegates uisplitviewcontroller uistoryboard

我在故事板中定义了一个带有SplitViewController的iPad界面.我想将SplitViewController的委托设置为指向详细控制器,但IB不允许进行该连接.

  • 放置"对象"对象并将类更改为我的详细控制器的类使得委托指向详细控制器的不同实例而不是显示的实例.
  • 我在app委托中手动连接(在didFinishLaunching中)的尝试没有结果,代表仍然是零.
  • 将委托更改为AppDelegate并实现协议有效,但将消息传递给详细控制器不起作用(即使我验证我引用了同一个实例).

什么都行不通.我可以设置self.splitViewController.delegate = self详细视图加载时,然后它成为没有问题的委托.但我错过了在此之前发生的任何代表电话.

对于上下文,我需要获取splitviewcontroller的委托调用,以便我可以在detailview中显示一个按钮来显示弹出窗口,这是标准做法.现在,如果应用程序以纵向方式启动,则必须将其旋转为横向,然后返回以显示按钮.

我用"普通"xib做了这个,没有问题.这似乎是一个特殊情况,即不允许在故事板中跨场景连接插座这一更普遍的问题.

Eva*_*ell 9

我不知道为什么这次有效,而不是前80次,但我把它添加到我的AppDelegate:

UISplitViewController *splitViewController = (UISplitViewController *)self.window.rootViewController;
UINavigationController *navigationController = [splitViewController.viewControllers lastObject];
splitViewController.delegate = (id)navigationController.topViewController;
Run Code Online (Sandbox Code Playgroud)