iOS - 是否可以在设备旋转时仅旋转导航栏按钮?

标签 ios iphone uinavigationcontroller rotation

我只是想知道是否可以阻止 UINavigationBarItem 随设备旋转,我的意思是当应用程序以纵向模式启动时,导航栏位于设备的“顶部”。一旦用户旋转设备,“左”或“右”侧将成为新的“顶”侧,导航栏将旋转到新的“顶”栏。是否有可能停止这种行为,比如旋转导航栏以外的所有内容?更好的是,我能否旋转导航栏按钮,以便用户仍然可以看到正常的按钮图标?

谢谢!

最佳答案

我看到两个可能的选择:

首先是为您的应用禁用旋转。然后为 UIDevice 方向编写自己的自定义旋转监控。然后当设备方向改变时,手动调整按钮和 UI。

第二种是允许旋转,但创建一个不旋转的自定义导航栏。这个导航栏必须是完全自定义的,因为符合 UIToolbar 意味着有一个指定顶部或底部的委托(delegate)。左或右不是一个选项。

这两个都不是一个好的选择,我认为继续这个想法不会给您的用户带来良好的体验。标准的东西没有按预期响应可能会令人不快。

如果您确实选择这样做,我会推荐第二个选项,因为它可能需要更少的工作。

关于iOS - 是否可以在设备旋转时仅旋转导航栏按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19698327/

相关文章:

ios - 如何以编程方式将 UICollectionView 滚动到底部?

php - 通过图像选择器将图像上传到服务器不起作用(需要解决方案)

IOS-如何将视频添加为 ViewController 背景并使用 swift 在运行时添加约束

iphone - UISearchBar 的范围按钮覆盖了第一行结果

ios - QLPreviewController NavigationBar barTintColor

ios - NavigationConroller 中的 TabBarController

ios - 编码 url 字符串并通过 NSURLConnection 和 NSURLRequest 发送它会出错

iPhone 风格按钮

iOS:如何检测弹出或关闭后是否出现viewcontroller

ios - 更改 spritekit 游戏中的初始场景