【发布时间】:2013-09-24 11:50:57
【问题描述】:
在 iOS 5 和 6 中,我在视图控制器的 viewWillAppear 方法中执行此操作:
UIViewController *c = [[UIViewController alloc] init];
//To avoid the warning complaining about the view not being part of the window hierarchy
[[[TWNavigationManager shared] window] addSubview:c.view];
[self presentModalViewController:c animated:NO];
[self dismissModalViewControllerAnimated:NO];
[c.view removeFromSuperview];
我还在应用委托中添加了这个方法
- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
{
return [[TWNavigationManager shared] supportedInterfaceOrientationsForTopViewController];
}
这基本上将该调用转发到顶视图控制器。
这导致为我的视图控制器调用自动旋转方法,然后我能够为该视图控制器强制横向方向。 现在在 iOS 7 中,该代码不再起作用。全屏显示白色视图。
iOS7 中的正确方法是什么?
提前致谢。
【问题讨论】:
-
你从哪里展示这个 lanscape-only-viewController ?它是导航堆栈中的“推送”吗?还是模态呈现的视图控制器? (在这种情况下更容易)
-
是的,这是在导航堆栈中的推送。我的根视图控制器是一个 UITabBarViewController,每个项目都有一个 UINavigationController。
标签: ios7 autorotate