iOS 6,5支持 portrait,landscape (橫豎屏的處理)


最近在項目中遇到iOS6的一點問題,主要是橫豎屏的處理不一樣了,多了一些方法,原來的方法被廢棄掉了。

可能主要是為了適配iPhone5吧。具體的原因不深究,解決問題。

在網上找了一些解決方法,但是不適合我在項目中使用。

    if ([[[UIDevice currentDevice] systemVersion] floatValue] < 6.0) {

        [self.window addSubview:navController.view];

    }else{

        [self.window setRootViewController:navController];

    }

有人建議這樣修改,但是我看不到任何這么修改的依據,所以項目中並沒有使用這樣的方式修改,

主要還是依賴於SDK自身的特點來進行修改吧。

進入正題:

主要修改以下幾個方面

在AppDelegate中增添一個方法,我這里只支持豎屏的處理,就只設置了這一種方式(可以根據自身的需要進行設置)

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

{

    return (UIInterfaceOrientationMaskPortrait);

}

在viewController中增加下面的兩個方法,同時保留原有的方法

//iOS6中新增的兩個方法 

- (BOOL)shouldAutorotate

{

    return NO;

}

 

- (NSUInteger)supportedInterfaceOrientations

{

    return (UIInterfaceOrientationMaskPortrait);

}

//在iOS6中廢棄了的方法,保留,以適配iOS4和5 

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation

{

    return toInterfaceOrientation == UIInterfaceOrientationPortrait;

}

 

搞定了,然后在項目中就可以支持iOS6,iOS4和5的屏幕適配了,這里主要是豎屏,大多數程序也是豎屏

可以根據自身的需要進行修改。

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM