美文网首页
iPad和iPhone如何共用UISplitViewContro

iPad和iPhone如何共用UISplitViewContro

作者: LittleFox | 来源:发表于2015-08-05 09:55 被阅读0次

参考的链接:

http://nshipster.cn/uisplitviewcontroller/

http://coding.tabasoft.it/ios/the-new-uisplitviewcontroller/

iPhone刚打开时,只显示detail,如果要让它先显示master,需要实现UISplitViewControllerDelegate的方法


- (void)viewDidLoad {

    [super viewDidLoad];

    self.splitViewController.delegate = self;

}

- (BOOL)splitViewController:(UISplitViewController *)splitViewController collapseSecondaryViewController:(UIViewController *)secondaryViewController ontoPrimaryViewController:(UIViewController *)primaryViewController {

    return YES;

}


iPad Portrait刚启动时,只显示detail,需要向右滑动才能显示master

没有任何提示相当不友好,可以在导航栏上加上一个返回的按钮,UISplitViewController 有一个 displayModeButtonItem,可以被添加到导航栏:


self.navigationItem.leftBarButtonItem = self.splitViewController.displayModeButtonItem;

self.navigationItem.leftItemsSupplementBackButton = YES;


当SplitViewController折叠只显示master时(iPhone),它的viewControllers只有一个master,用viewControllers[1]来获取detail会越界

在ios8以前,我们显示一个新的detail的VC实在这样做的


PhotoViewController *photoVC = (PhotoViewController*)self.splitViewController.viewControllers[1];

photoVC.image = image;


在ios8以后,我们是这样做的


PhotoViewController *photoVC = [[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"photovc"];

self.showDetailViewController(photoVC, sender: self)


最大的区别在于,在ios8我们需要实例化一个全新的detail VC,而不是简单地替换当前的detail VC。

相关文章

网友评论

      本文标题:iPad和iPhone如何共用UISplitViewContro

      本文链接:https://www.haomeiwen.com/subject/tjwmqttx.html