ios - 试图阻止 iPhone 4 上的方向更改
问题描述
我在 iOS 应用程序中遇到了旋转(方向更改)问题。该应用程序有几个视图控制器可供导航。
我希望它可以旋转,除了 iPhone 4(3.5 英寸设备)。在 3.5 英寸设备上,它应该始终保持纵向模式。
我能够防止直接旋转,即在视图控制器内部时,如果用户将设备保持在纵向模式并且它们处于横向模式,则不会发生任何事情。这正是我想要的。
在横向模式下更改视图控制器时会出现问题。在这种情况下,新的视图控制器以横向模式显示,我不希望这样。
我试着用
- (BOOL)shouldAutorotate;
当设备为 3.5 英寸时返回 NO,但这不起作用。
如何防止这种行为?
我可能需要添加一个细节:我用来测试的 3.5 英寸设备运行 iOS 版本 9.3.5。
我正在使用 Xcode 9.4.1。
解决方案
您可以使用方法supportedInterfaceOrientations。
例如:
目标c
-(UIInterfaceOrientationMask)supportedInterfaceOrientations
{
//return your preferred orientation
return UIInterfaceOrientationMaskPortrait;
}
推荐阅读
- sql-server - 如何在sql-server中将字符串转换为日期时间
- flutter - Flutter 的 blocTest 调用 expect 太早了
- c - STDC 否定定义(例如 __STDC_NO_VLA__)背后的动机是什么?
- facebook - 自定义 FB 登录流程
- server - ColdFusion - 会话变量 - 丢失它们
- node.js - 生产环境中的 Socket.io 和 nginx CORS
- html - 悬停效果结束后如何完成整个动画png?
- javascript - ASP.NET MVC 中的 GUID 模型绑定
- python - 有没有一种技术可以找到连接组件的厚度?
- django - Django 在模型中创建对象时定义 update_fields