2012年9月27日 星期四

iOS學習_iOS5轉iOS6的螢幕旋轉問題_Part1

iPad更新完iOS6,Xcode也更新到4.5版,重新編譯專案後會發現以往有處理螢幕旋轉的頁面,好像都直立立地站著完全沒有要橫過來的感覺。

還沒有去很仔細地研究iOS6螢幕旋轉的控制方法,但是當務之急就是先將原本的專案恢復原狀。

原專案: 1. 各個View以shouldAutorotateToInterfaceOrientation方法來控制是否支援螢幕旋轉。
2. 從一開始的UIResponder就以UINavigationController裝進第一個UIViewController。
3. 專案雖然View很多,但是並沒有哪一個View特別指定只知原某個方向,換句話說每一個View都可以轉來轉去。

因為上面的第三點,所以改起來也相對簡單。

方法:
1. 原本在UIResponder中使用addSubview來將UINavigationController放進去。
[self.window addSubview:navigator.view];

但現在必須使用setRootViewController的方法,才能正確支援旋轉。
[self.window setRootViewController:navigator];


2. 在第一個推進UINavigationController的View加入兩個方法
-(BOOL)shouldAutorotate { return YES; } - (NSUInteger)supportedInterfaceOrientations { return UIInterfaceOrientationMaskPortrait; }

如此之後再推進UINavigationController的View也都會支援螢幕旋轉,但對於各別View要分別支援不同的螢幕方向就必須要去細讀iOS6的官方文件了。

沒有留言:

張貼留言