我有一个具有以下结构的应用程序:
UIWindow
-- GlobalNavigationController.view (subclasses UIViewController)
-- UIView
-- UINavigationController.view
GlobalNavigationController将所有旋转和生命周期事件(viewWillAppear,willRotateToInterfaceOrientation等)转发给导航控制器。
一切都很顺利,直到你:
此时,似乎UINavigationController中的基础视图未被告知某些旋转事件。
你会得到这样的观点:
有什么想法吗? 感谢
答案 0 :(得分:0)
在模态视图控制器中,尝试设置以下内容:
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {
[self.parentViewController didRotateFromInterfaceOrientation:fromInterfaceOrientation];
}
这将发送视图旋转到其父级的消息,该父级是呈现模式窗口的视图
答案 1 :(得分:0)
我遇到了与我正在处理的应用程序类似的问题。事实证明,我的问题是我没有正确指定我的控制(例如顶部工具栏)如何增长和拉伸。
如果问题不是代码问题,请查看IB并查看是否已定义自动增长等。
答案 2 :(得分:0)
事实证明导航控制器没有设置parentViewController属性。喜欢无证的陷阱......
简单的解决方案是在导航控制器初始化之后放置它:
[_navigationController setValue:self forKey:@"_parentViewController"];
支持PrimaryFeather的道具: Modal View Controller Won't Start in Landscape Mode