iOS6之後如果要支持旋轉的話還真麻煩,估狗到的資料也都不太齊全,不過皇天不負苦心人,總算給我估到惹XD
在寫App的時候,常常會遇到某些viewController不想讓它的view旋轉,有些viewController允許控制旋轉,在iOS6以前可以使用
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
這個方法來達到目的,可是在iOS6之後,這個方法被deprecated惹!囧!之前寫code的方法是把開發環境往下設定,可是這不是長遠之計,於是花了點時間找到的方法如下:
1. 開一個UINavigationController的subclass 2. 把root的UINavigationController設定為該subclass 3. 然後把以下code寫到subclass內
- (NSUInteger)supportedInterfaceOrientations { return [[self topViewController] supportedInterfaceOrientations]; } - (BOOL)shouldAutorotate { return YES; }
4. 在想只支援Portrait的viewController加入以下的code
- (NSUInteger)supportedInterfaceOrientations { return UIInterfaceOrientationMaskPortrait; }
5. 在想支援portrait Orientation and Landscape Orientation的viewController加入以下code
- (NSUInteger)supportedInterfaceOrientations { return UIInterfaceOrientationMaskAllButUpsideDown; }
上面的方法經過測試目前OK,太佩服找到解決方法的人惹!!!
Reference:
沒有留言:
張貼留言