在 SplitViewController 中从 DetailViewController 隐藏 MasterViewController
Hide MasterViewController from DetailViewController in a SplitViewController
我设置了一个 SplitViewController,其中包含一个 DetailViewController 和一个 MasterViewController。 DetailViewController 包含一个地图,我想在地图上放置一个按钮,用于折叠和展开 MasterViewController。在 Apple 的 App Store 应用程序中就像这样:
点击按钮然后给出:
关于如何实现类似效果的任何想法?注意我不想关闭顶部工具栏,只是 MasterViewController。谢谢!
解决方案
感谢 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];
}];
隐藏母版视图
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];
}];
希望对你有用!
我设置了一个 SplitViewController,其中包含一个 DetailViewController 和一个 MasterViewController。 DetailViewController 包含一个地图,我想在地图上放置一个按钮,用于折叠和展开 MasterViewController。在 Apple 的 App Store 应用程序中就像这样:
点击按钮然后给出:
关于如何实现类似效果的任何想法?注意我不想关闭顶部工具栏,只是 MasterViewController。谢谢!
解决方案
感谢 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];
}];
隐藏母版视图
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];
}];
希望对你有用!