3 回答
TA贡献1942条经验 获得超3个赞
这是我的“五美分”,已在iOS7和ARC上进行了测试
[[UIDevice currentDevice] setValue:
[NSNumber numberWithInteger: UIInterfaceOrientationPortrait]
forKey:@"orientation"];
这不会像performSelector那样生成“泄漏”警告。
UIAlertView-使用此代码,当您在视图中打开UIAlertView时(会/已)出现时,您会注意到,除了该视图以外的所有视图都是纵向的(苹果,真的吗?)我无法强制视图重新定向,但是发现您在打开UIAlertView之前稍加延迟,然后视图就有时间更改方向。
请注意,我将从2014年12月9日开始发布我的应用程序周,如果发布会通过或失败,我将对其进行更新。
TA贡献1895条经验 获得超3个赞
这不能回答如何更改设备方向,而是可以帮助您的其他信息。
iOS 6 UI界面方向-shouldAutorotateToInterfaceOrientation:不起作用
iOS 6不支持方法shouldAutorotateToInterfaceOrientation:不建议使用。以防万一,如果你是一个新手,谁只是盯着可可工作,并想知道为什么你的视图控制器在iOS 6中搞砸了完善的iOS 5中,只知道shouldAutorotateToInterfaceOrientation:不支持了。即使它在Xcode 4到4.3上都能很好地工作,在Xcode 4.5上也无法工作。
苹果提供了一种新的方法来以更清洁的方式完成此任务。您可以改用supportedInterfaceOrientations。它返回视图控制器支持的所有界面方向,以及界面方向值的掩码。
UIInterfaceOrientationMask枚举:
这些常量是用于指定视图控制器支持的接口方向的掩码位。
typedef enum {
UIInterfaceOrientationMaskPortrait = (1 << UIInterfaceOrientationPortrait),
UIInterfaceOrientationMaskLandscapeLeft = (1 << UIInterfaceOrientationLandscapeLeft),
UIInterfaceOrientationMaskLandscapeRight = (1 << UIInterfaceOrientationLandscapeRight),
UIInterfaceOrientationMaskPortraitUpsideDown = (1 << UIInterfaceOrientationPortraitUpsideDown),
UIInterfaceOrientationMaskLandscape =
(UIInterfaceOrientationMaskLandscapeLeft | UIInterfaceOrientationMaskLandscapeRight),
UIInterfaceOrientationMaskAll =
(UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskLandscapeLeft |
UIInterfaceOrientationMaskLandscapeRight | UIInterfaceOrientationMaskPortraitUpsideDown),
UIInterfaceOrientationMaskAllButUpsideDown =
(UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskLandscapeLeft |
UIInterfaceOrientationMaskLandscapeRight),
} UIInterfaceOrientationMask;
使用shouldAutorotateToInterfaceOrientation:方法:
-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation {
return UIInterfaceOrientationIsLandscapeRight(toInterfaceOrientation);
}
使用supportedInterfaceOrientations方法:
-(NSUInteger)supportedInterfaceOrientations{
return UIInterfaceOrientationMaskLandscapeRight;
}
这些是UIViewController中有关iOS6中方向的添加方法
UIViewController preferredInterfaceOrientationForPresentation
UIViewController应该自动旋转
UIViewController支持的InterfaceOrientations
向UIApplication添加了有关iOS6中方向的方法
UIApplication支持的InterfaceOrientationsForWindow:
UIInterfaceOrientationMask
- 3 回答
- 0 关注
- 500 浏览
添加回答
举报