ios - 缺少 "master"按钮和滑动手势不起作用 master/detail ios

标签 ios objective-c ipad uigesturerecognizer master-detail

我创建了主细节应用程序,其中包含多个细节 View Controller ,通过替换 segue 连接到 Split View。在横向上一切正常,但在纵向上我缺少打开主 TableView 的按钮并且在屏幕左侧滑动不起作用并且无法打开应用程序的主端。

编辑:

在我的 DetailViewController 中,我有两种方法,与 xcode 为主从应用程序提供的模板相同:

#pragma mark - Split view

- (void)splitViewController:(UISplitViewController *)splitController willHideViewController:(UIViewController *)viewController withBarButtonItem:(UIBarButtonItem *)barButtonItem forPopoverController:(UIPopoverController *)popoverController
{
    barButtonItem.title = NSLocalizedString(@"MasterButton", @"Master");
    [self.navigationItem setLeftBarButtonItem:barButtonItem animated:YES];
    self.masterPopoverController = popoverController;
}

- (void)splitViewController:(UISplitViewController *)splitController willShowViewController:(UIViewController *)viewController invalidatingBarButtonItem:(UIBarButtonItem *)barButtonItem
{
    // Called when the view is shown again in the split view, invalidating the button and    popover controller.
    [self.navigationItem setLeftBarButtonItem:nil animated:YES];
    self.masterPopoverController = nil;
}

编辑 2: 在更改我的 detailViewController 时,我也更改了委托(delegate)。

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    UIViewController *destinationViewController = [segue destinationViewController];
    if ([destinationViewController conformsToProtocol:@protocol(UISplitViewControllerDelegate)]) {
        self.splitViewController.delegate = (id)destinationViewController;
    }
    else {
        self.splitViewController.delegate = nil;
    }
}

编辑 3: 我最终通过在我创建的每个 DetailViewController 中添加这行代码解决了我的问题:

self.splitViewController.delegate = self;

最佳答案

你需要放置 barButtonItem 来自

- (void)splitViewController:(UISplitViewController *)svc willHideViewController:(UIViewController *)aViewController withBarButtonItem:(UIBarButtonItem *)barButtonItem forPopoverController:(UIPopoverController *)pc

在详细 View Controller 的导航栏上。

关于ios - 缺少 "master"按钮和滑动手势不起作用 master/detail ios,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20188486/

相关文章:

ipad - 苹果 ITMS 传输器 : How to Upload screenshot for ios-iPad Pro?

iphone - UIImagepicker 不显示在 iPad Storyboard中

ios - 关闭之前的 VC 后仅重新加载新数据

ruby-on-rails - 在本地服务器上使用 RestKit

iphone - StoreKit:我可以为用户提供他选择的通常收费的产品的免费下载吗?

ios - UINavigationController 推送几个相同的viewController

iOS 9 : How to detect when user said 'Don' t Allow' to the push notification request?

iphone - 没有接口(interface)的实例类或方法?

objective-c - UITableView 动画期间的用户交互

objective-c - 完成 block 不执行