【问题标题】:xCode6 How to lock iOS 7.1 devices in portrait programmatically?xCode6 如何以编程方式锁定 iOS 7.1 设备的纵向?
【发布时间】:2015-01-23 16:30:41
【问题描述】:
我有一个使用故事板、自动布局和大小类的 xCode6 项目。本项目的部署目标是 iOS 7.1 。我正在使用以下尺寸等级:
- 纵向 iPhone 的任意/任意
- 高度紧凑/横向任意宽度
我注意到,当部署到 iOS 7.1 时,设备会忽略与大小类相关的约束,而仅使用“Any/Any”。我不想只为 iOS 7.1 创建单独的故事板,所以我想将 iOS 7.1 设备锁定为纵向模式。在我看来,这将需要某种适用于 iOS 7.1 的条件编译语句,但我不确定该放在哪里。
如何修改我的项目以在 iOS 7.1 的纵向模式下锁定所有控制器?
【问题讨论】:
标签:
ios8
autolayout
xcode6
uistoryboard
size-classes
【解决方案1】:
锁定特定 iOS 版本的屏幕并不好,但正如您所问的,下面的代码将毫无疑问地帮助您。
代码(write this code in appdelegate.m)
- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
{
// Support all orientation
if(floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_7_1)
{
return UIInterfaceOrientationMaskAll;
}
// Support only portrait
else
{
return UIInterfaceOrientationMaskPortrait;
}
}
演示项目
Link
输出
如果iOS > iOS7.1支持全方向
如果iOS <= iOS7.1只支持纵向