微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

带有模态对话框的UINavigationController旋转问题

如何解决带有模态对话框的UINavigationController旋转问题

| 我有一个具有以下结构的应用程序:
UIWindow
   -- GlobalNavigationController.view (subclasses UIViewController)
      -- UIView
      -- UINavigationController.view
GlobalNavigationController将所有旋转和生命周期事件(viewWillAppear,willRotatetoInterfaceOrientation等)转发到导航控制器。 一切都会很好,直到您: 打开模式对话框 旋转到风景(或其他方向) 关闭对话框。 此时,似乎没有通知UINavigationController中的基础视图一些旋转事件。 您将获得如下视图: 任何想法? 谢谢     

解决方法

在模态视图控制器中,尝试设置以下内容:
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {
    [self.parentViewController didRotateFromInterfaceOrientation:fromInterfaceOrientation];
}
这会将视图旋转到其父级的消息发送,该父级是显示模式窗口的视图     ,我正在使用的应用程序遇到类似的问题。事实证明,我的问题是我没有正确指定控件(例如顶部工具栏)的增长和伸展方式。 如果问题不是代码问题,请查看IB,看看是否已定义自动增长等。     ,原来这是导航控制器未设置parentViewController属性的问题。爱无证的陷阱... 一个简单的解决方案是将其放在导航控制器初始化之后:
[_navigationController setValue:self forKey:@\"_parentViewController\"];
支持PrimaryFeather的想法: Modal View Controller无法在横向模式下启动     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。