iOS6不支持shouldAutorotateToInterfaceOrientation

發現 b2c交易在ios6上webview隨屏幕旋轉了,可是b2c支持橫屏的,緣由是ios6的委託 ios

iOS6下的 web

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
       return UIInterfaceOrientationIsLandscape(toInterfaceOrientation);
}

這個不會再被調用,取而代之的是這倆個組合:
- (BOOL)shouldAutorotate
{
   return YES;
}
 
- (NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskLandscape;
}

固然,爲了保持對舊版本系統行爲的兼容性,不要刪掉不用的那個調用。另外還有一個這個preferred朝向也能夠加上
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
    return UIInterfaceOrientationLandscapeRight;

} app


b2c交易只支持橫屏,網銀交易須要支持橫豎屏,因此若是在info.plist設置支持的方向,則再同以客戶端下兩種應用有衝突。解決這個問題的方法就是再前面的基礎上再應用的delegate中加入以下回調:
- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
{
    if (clientstate == 0)  /* 網銀*/
        return UIInterfaceOrientationMaskAll;
    else/* b2c*/
        return UIInterfaceOrientationMaskLandscape;
} ide

簡單說明: spa

UIInterfaceOrientationMaskLandscape  支持左右橫屏
UIInterfaceOrientationMaskAll  支持四個方向旋轉
UIInterfaceOrientationMaskAllButUpsideDown 支持除了UpsideDown之外的旋轉 webview

相關文章
相關標籤/搜索