简体   繁体   English

在SplitViewController中从DetailViewController隐藏MasterViewController

[英]Hide MasterViewController from DetailViewController in a SplitViewController

I have a SplitViewController set up with a DetailViewController and a MasterViewController. 我有一个设置了DetailViewController和MasterViewController的SplitViewController。 The DetailViewController contains a map and I want to place a button on the map that collapses and expands the MasterViewController. DetailViewController包含一个地图,我想在地图上放置一个按钮,该按钮可以折叠并展开MasterViewController。 Exactly like this in Apple's App Store app: 在Apple的App Store应用中完全像这样:

在此处输入图片说明

Clicking on the button then gives: 点击按钮,然后给出:

在此处输入图片说明

Any ideas on how I can achieve a similar effect? 关于如何实现类似效果的任何想法? Note I don't want to close the top tool bar, just the MasterViewController. 注意我不想关闭顶部工具栏,只需关闭MasterViewController。 Thanks! 谢谢!

SOLUTION

Thanks to Pravin, my final solution in the IBAction is: 感谢Pravin,我在IBAction中的最终解决方案是:

if (self.splitViewController.preferredDisplayMode == UISplitViewControllerDisplayModePrimaryHidden) {
    self.splitViewController.preferredDisplayMode = UISplitViewControllerDisplayModeAllVisible;
} else {
    self.splitViewController.preferredDisplayMode = UISplitViewControllerDisplayModePrimaryHidden;
}

[UIView animateWithDuration:0.5 animations:^ {
     [self.splitViewController.view layoutIfNeeded];
 }];

hide master view 隐藏主视图

AppDelegate * appDelegateObj = (AppDelegate *)[UIApplication sharedApplication].delegate;
        UISplitViewController * splitView = appDelegateObj.splitViewObj;
        splitView.preferredDisplayMode = UISplitViewControllerDisplayModePrimaryHidden;
        [UIView animateWithDuration:1.0 animations:^
         {
             [spv.view layoutIfNeeded];
         }];

show master view


AppDelegate * appDelegateObj = (AppDelegate *)[UIApplication sharedApplication].delegate;
        UISplitViewController * splitView = appDelegateObj.splitViewObj;
        splitView.preferredDisplayMode = UISplitViewControllerDisplayModeAllVisible;
        [UIView animateWithDuration:1.0 animations:^
         {
             [spv.view layoutIfNeeded];
         }];

I hope it will useful for you! 希望对您有用!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 无法从MasterViewController访问DetailViewController - Unable to access DetailViewController from MasterViewController 使用prepareForSegue显示从MasterViewController到DetailViewController的字符串 - Displaying a string from MasterViewController to DetailViewController using prepareForSegue 在UISplitViewController应用程序中从DetailViewController获取MasterViewController - getting the MasterViewController from the DetailViewController in a UISplitViewController app 将数据从detailViewController向后传递到masterViewController - Pass data backward from detailViewController to masterViewController 从SplitViewController中的MasterViewController发送到另一个View Controller - Segue from the MasterViewController in a SplitViewController to another View Controller 从 splitviewcontroller 中的 masterVewController 访问 ROOT detailViewController - Access the ROOT detailViewController from the masterVewController in a splitviewcontroller ISplitViewController:DetailViewController可以从MasterVIewController加载数据而不需要回传吗? - ISplitViewController: Can DetailViewController load data from MasterVIewController without segueing back? 从MasterViewController在DetailViewController中设置detailItem时出现奇怪的错误 - Weird Error when setting detailItem in DetailViewController from MasterViewController 我应该如何从更改的masterViewController跟踪detailViewController? - how should I keep track of a detailViewController from a changing masterViewController? 如何从detailViewController填充数组并返回iOS中的masterViewController? - How to populate an array from detailViewController and return to masterViewController in iOS?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM