iPhone 5横向模式下,导航栏右侧的按钮停止工作,如何解决?

Posted

技术标签:

【中文标题】iPhone 5横向模式下,导航栏右侧的按钮停止工作,如何解决?【英文标题】:When on iPhone 5 landscape mode, the button on the right of navigation bar stops working, how to fix it? 【发布时间】:2013-01-15 19:53:47 【问题描述】:

在为 iPhone 5 的 4 英寸屏幕更新我的旧程序时,我发现导航控制器保持其原始 3.5 英寸屏幕尺寸并拒绝拉伸以适应 4 英寸屏幕,即使其视图控制器的视图和 tableview 控制器的视图是全部拉伸以适应 4 英寸屏幕。因为在正常使用时导航控制器的视图是不可见的,人们可能会错过它。因为它拒绝适应新的4英寸屏幕,在横向模式下,屏幕超出了导航控制器的视图宽度,并且右键掉出边界并变得无响应。为了显示上述情况,我将导航控制器视图的背景颜色设置为半透明红色,将表格视图的背景颜色设置为半透明蓝色。如下图所示。问题是,如何解决问题。加号按钮在横向模式下没有响应,但在纵向模式下,它可以正常工作。

【问题讨论】:

如何将导航控制器添加到视图层次结构中?它应该自行调整大小。 (使用主/详细模板创建一个新项目并向自己证明。) 【参考方案1】:

您的导航控制器的视图,或者更有可能是包含它的窗口,没有设置正确的框架。如果您在代码中创建窗口,请确保您使用的是 UIScreen -applicationFrame-bounds 而不是硬编码的 (320, 460)(320, 480);如果您使用的是 NIB,请检查您的自动调整大小掩码和布局设置。

【讨论】:

感谢您的快速回答。我去了 MainWindows.xib 并检查了它的属性检查器并将大小从无更改为 Freeform,它可以很好地处理 3.5 英寸和 4.0 英寸的屏幕。请参阅下面的屏幕截图:zhuyali.homedns.org:900/images/screenshot3.jpg 其实在编译的时候,得到了2个警告。我应该将 about 设置保留为 none 并更改 Windows 复选框以在启动时全屏显示,请参见下面的屏幕截图:zhuyali.homedns.org:900/images/screenshot4.jpg

以上是关于iPhone 5横向模式下,导航栏右侧的按钮停止工作,如何解决?的主要内容,如果未能解决你的问题,请参考以下文章

使用 SwiftUI 将设备旋转到横向时出现导航栏

iPhone:在代码中的导航栏中将“添加信息”按钮添加为右侧栏按钮项

横屏模式下 iOS 5 iPad 上的导航栏背景图像

如何在iOS6中停止状态栏覆盖导航栏

横向模式下的 UINavigationController 后退按钮问题?

当应用程序更改为横向模式时,导航栏显示两次