我有一个具有以下架构的应用程序:
登录 - >标签栏 - >
- UINavigationController - > Tab1ViewController
- UISplitViewController - > UINavigationController - > MasterViewController / DetailViewController
- UINavigationController - > Tab3ViewController
醇>
然后我在DetailViewController中实现
- (void)splitViewController:(UISplitViewController *)splitController willHideViewController:(UIViewController *)viewController withBarButtonItem:(UIBarButtonItem *)barButtonItem forPopoverController:(UIPopoverController *)popoverController
但它永远不会被召唤。
我还将splitview委托放在我的详细信息中:
@interface DetailViewController : UITableViewController
<UISplitViewControllerDelegate>
有什么我想念的吗?
答案 0 :(得分:3)
你错过了很多东西。
一,为了快速解决您的问题,请写下:
splitViewController.delegate = self;
二,请注意,您是否符合<UISplitViewControllerDelegate>
协议并不重要。这只是编译器的一个提示 - 它不会让视图控制器神奇地知道哪个对象应该是它的委托......
三,作为旁注:这与Xcode完全无关。