UISplitViewController Hide/Unhide MasterView In Storyboard

好久不见. 提交于 2019-11-30 19:44:11
rdelmar

I do it like this in the master view controller (TableController):

#import "TableController.h"
#import "ViewController.h"

@interface TableController ()

@property (strong, nonatomic) NSArray * theData;
@property (strong, nonatomic) UIViewController * detailVC;

@end

@implementation TableController 


-(void)awakeFromNib {
   self.splitViewController.delegate = self;
   self.detailVC = self.splitViewController.viewControllers[1];
}

-(void)splitViewController:(UISplitViewController *)svc willShowViewController:(UIViewController *)aViewController invalidatingBarButtonItem:(UIBarButtonItem *)barButtonItem {
    NSMutableArray *itemArray = [self.detailVC.toolBar.items mutableCopy];
    [itemArray removeObject:barButtonItem];
    [self.detailVC.toolBar setItems:itemArray];
}


-(void)splitViewController:(UISplitViewController *)svc willHideViewController:(UIViewController *)aViewController withBarButtonItem:(UIBarButtonItem *)barButtonItem forPopoverController:(UIPopoverController *)pc {
    barButtonItem.title = @"Master";
    NSMutableArray *itemArray = [self.detailVC.toolBar.items mutableCopy];
    if (! itemArray) {
        itemArray = [NSMutableArray arrayWithObject:barButtonItem];
    }else{
        [itemArray insertObject:barButtonItem atIndex:0];
    }
    [self.detailVC.toolBar setItems:itemArray];
}

I added a tool bar in IB to the detail controller, and gave it the IBOutlet, toolBar.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!