iOS-当设备旋转时,是否只能旋转导航栏按钮?

iOS-当设备旋转时,是否只能旋转导航栏按钮?,ios,iphone,uinavigationcontroller,rotation,Ios,Iphone,Uinavigationcontroller,Rotation,我只是想知道是否有可能阻止UINavigationBarItem与设备一起旋转,我的意思是当应用程序以纵向模式启动时,导航栏位于设备的“顶部”。一旦用户旋转设备,“左”或“右”侧将成为新的“顶部”侧,导航栏将旋转到新的“顶部”栏。有没有可能停止这种行为,比如旋转除导航栏以外的所有东西?更好的是,我可以旋转导航栏按钮,让用户仍然可以看到正常的按钮图标吗 谢谢 我看到两种可能的选择: 第一个是禁用应用程序的旋转。然后为UIDevice方向编写自己的自定义旋转监视。然后,当设备方向改变时,手动调整按钮

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


谢谢

我看到两种可能的选择:

第一个是禁用应用程序的旋转。然后为UIDevice方向编写自己的自定义旋转监视。然后,当设备方向改变时,手动调整按钮和UI

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

这两个都不是一个好的选择,我不认为继续这个想法会给你的用户一个好的体验。有一些标准的东西没有如预期的那样响应可能会引起不安


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

谢谢您的详细解释,它对我帮助很大!