1

我有一个具有以下架构的应用程序:

登录 -> 标签栏 ->

  1. UINavigationController -> Tab1ViewController
  2. UISplitViewController -> UINavigationController -> MasterViewController/DetailViewController
  3. UINavigationController -> Tab3ViewController

然后我在我的 DetailViewController 中实现

- (void)splitViewController:(UISplitViewController *)splitController willHideViewController:(UIViewController *)viewController withBarButtonItem:(UIBarButtonItem *)barButtonItem forPopoverController:(UIPopoverController *)popoverController

但它永远不会被调用。

我还将 splitview 委托放在我的详细信息中:

@interface DetailViewController : UITableViewController
<UISplitViewControllerDelegate>

有什么我想念的吗?

4

1 回答 1

3

你错过了很多东西。

一、为了快速解决你的问题,写:

splitViewController.delegate = self;

第二,请注意,您是否遵守<UISplitViewControllerDelegate>协议并不重要。这只是对编译器的一个提示——它不会让视图控制器神奇地知道哪个对象应该是它的委托......

三,作为旁注:这与 Xcode 完全无关。

于 2012-11-25T06:20:04.930 回答