gpt4 book ai didi

delegates - Storyboard中的SplitView,无法连接委托(delegate)

转载 作者:行者123 更新时间:2023-12-04 03:59:51 29 4
gpt4 key购买 nike

我在 Storyboard 中定义了一个 iPad 界面,带有一个 SplitViewController。我想将 SplitViewController 的委托(delegate)设置为指向详细 Controller ,但 IB 不允许建立该连接。

  • 放置一个“对象”对象并将类更改为我的细节 Controller 的类,使委托(delegate)指向与显示的细节 Controller 不同的实例。
  • 我尝试在应用程序委托(delegate)中手动连接它(在 didFinishLaunching 中)没有结果,委托(delegate)仍然为零。
  • 将委托(delegate)更改为 AppDelegate 并在那里实现协议(protocol)有效,但将消息传递给详细 Controller 不起作用(即使我验证我引用的是同一个实例)。

  • 没有任何效果。我可以设置 self.splitViewController.delegate = self当详细 View 加载时,它就毫无问题地成为委托(delegate)。但我想念在那之前发生的任何委托(delegate)电话。

    对于上下文,我需要获取 splitviewcontroller 的委托(delegate)调用,以便我可以在详细 View 中显示一个按钮以显示一个弹出框,这是标准做法。现在,如果应用程序以纵向启动,则必须将其旋转为横向,然后再返回以显示按钮。

    我已经用“正常”的xibs完成了这个,没有问题。这似乎是不允许在 Storyboard 中跨场景连接 socket 的更普遍问题的特例。

    最佳答案

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

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

    关于delegates - Storyboard中的SplitView,无法连接委托(delegate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8975039/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com