【问题标题】:How to set Split View Controller Delegate from Storyboard?如何从 Storyboard 设置拆分视图控制器委托?
【发布时间】:2015-02-26 20:10:50
【问题描述】:

我拖出了一个 splitViewController,并将其标识为我创建的 MySplitViewController 的子类。

当右键单击 splitview 故事板时,我可以看到我已经设置了它的 Master 和 Detail 视图控制器,而且代理没有设置。

我已经使我的子类符合协议并实现了一些方法,但是它们没有被调用(我不明白是因为没有设置委托)。

但是,每当我尝试从故事板中的委托选项中按 ctrl+拖动到我的班级时,它都不会链接。事实上,它不会与任何东西联系起来。我使用这个协议错了吗,我的 UISplitViewController 的子类不应该是它自己的委托吗?那么我在哪里定义代码或其他方式的委托?

感谢您的宝贵时间。

编辑:更多信息-

我尝试将 self.delegate = self; 放入 viewDidLoad,但这似乎没有帮助。

我试图覆盖的特定方法是

splitViewControllerPreferredInterfaceOrientationForPresentation:

我已经在代码中添加了一个 NSLog 来通知我它是否被调用,但它不是

【问题讨论】:

  • 我自己也有类似的问题,设置委托。我已经尝试了各种方法,制作详细视图委托,制作拆分视图委托,在应用程序委托中分配委托,制作符合委托协议的 NSObject 子类,然后在此自定义类型的故事板场景中添加一个对象.仍然没有喜悦。这是生命周期问题吗? Xcode 中的错误?你的问题解决了吗?
  • 我已经成功地连接了委托,所以一些方法可以工作。然而 splitViewControllerPreferredInterfaceOrientationForPresentation: 似乎不是其中之一。我想知道这些方法是否没有被调用,因为视图层次结构中的其他东西正在调用类似的方向方法?

标签: ios xcode delegates uisplitviewcontroller


【解决方案1】:

据我所知,NSSplitViewControllers 不能有委托,并且他们的 splitViews 不能重新分配他们的委托,因为控制器充当委托。

如果您需要访问委托方法,只需子类化控制器,然后在 Interface Builder 中更改类名。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-12
    • 2019-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多