我有一个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];
}];
希望对您有用!