您的位置:首页 > 移动开发 > IOS开发

转:ios7(自动旋屏)iOS6不支…

2013-12-20 13:02 246 查看
原文地址:转:ios7(自动旋屏)iOS6不支持shouldAutorotateToInterfaceOrientation作者:Easonchen参考开源中国——双子座教程ios7

http://my.oschina.net/plumsoft/blog/47289

发现 b2c交易在ios6上webview随屏幕旋转了,但是b2c支持横屏的,原因是ios6的委托

iOS6下的

-
(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation

{

   
   return
UIInterfaceOrientationIsLandscape(toInterfaceOrientation);

}

这个不会再被调用,取而代之的是这俩个组合:

- (BOOL)shouldAutorotate

{

   return YES;

}

 

- (NSUInteger)supportedInterfaceOrientations

{

    return
UIInterfaceOrientationMaskLandscape;

}

当然,为了保持对旧版本系统行为的兼容性,不要删掉不用的那个调用。另外还有一个这个preferred朝向也可以加上

-
(UIInterfaceOrientation)preferredInterfaceOrientationForPresentation

{

    return
UIInterfaceOrientationLandscapeRight;
}

b2c交易只支持横屏,网银交易需要支持横竖屏,所以如果在info.plist设置支持的方向,则再同以客户端下两种应用有冲突。解决这个问题的方法就是再前面的基础上再应用的delegate中加入如下回调:

- (NSUInteger)application:(UIApplication *)application
supportedInterfaceOrientationsForWindow:(UIWindow *)window

{

    if
(clientstate == 0) 

       
return UIInterfaceOrientationMaskAll;

    else

       
return UIInterfaceOrientationMaskLandscape;

}

简单说明:

UIInterfaceOrientationMaskLandscape 
支持左右横屏

UIInterfaceOrientationMaskAll  支持四个方向旋转

UIInterfaceOrientationMaskAllButUpsideDown 支持除了UpsideDown以外的旋转
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: