gpt4 book ai didi

objective-c - 在 UISplitViewController 中隐藏 MasterView

转载 作者:行者123 更新时间:2023-11-28 17:55:07 26 4
gpt4 key购买 nike

更新

我最终解决了 MGSplitViewController 的问题,所以我现在使用项目的这个分支:http://github.com/ArtSabintsev/MGSplitViewController在撰写此编辑时,分支尚未拉入 Matt Gemmell 的 master 分支。

请注意

  1. 我的 iPad 应用只有 Landscape,兼容 iOS5 和 iOS6
  2. 我有一个部分可行的解决方案,但我需要更进一步。
  3. 对于我应用中的大部分屏幕,我需要同时显示主视图和详细 View (正常行为)。
  4. 有一次,我只需要提供 detailVC。

我现在做得怎么样?

我正在使用以下 UISpliterViewControllerDelegate 方法

- (BOOL)splitViewController:(UISplitViewController *)svc shouldHideViewController:(UIViewController *)vc inOrientation:(UIInterfaceOrientation)orientation
{
return self.hideRootViewController;
}

其中 hideRootViewController 是一个最初设置为 NO 的 bool 值。

部分解决方案

如果我将 bool 值更改为 YES(在我的应用程序的任何屏幕/VC 中)并旋转屏幕,masterVC 消失,detailVC 占据整个屏幕。

剩下的问题

如何在不实际旋转设备的情况下强制进行此更改,或者如何强制设备方向通知更改以重绘 UISplitViewController?

以下尝试失败:

  1. CGAffineTansformation(恒等式和小角度变换)
  2. 发布 UIDeviceOrientationDidChangeNotification
  3. 在 splitVC.view 上调用 setNeedsLayout
  4. 在 splitVC 上呈现并立即驳回 modalVC

注意:我没有使用 MGSplitViewController,也不想在这个项目中使用那个类。

最佳答案

要手动强制旋转,您可以使用:

[[UIApplication sharedApplication] setStatusBarOrientation:]

关于objective-c - 在 UISplitViewController 中隐藏 MasterView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12515285/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com