我有一個很老的應用程序,它與iOS 3.2+設備(包括iPad和iPhone)兼容。我有一個很大的問題使它與iOS 7兼容!iOS 3.2到iOS 7界面方向不一致
事實上,早在ARC,故事板以及我們現在很喜歡玩的所有語法糖之前就已經寫過了。而且我很難理解一些界面方向問題:
對於iPhone,應用程序只在橫向上可見...沒有與主ViewController問題。但設置之一(一個簡單的ViewController在裏面有一個UITableView)總是顯示在肖像中!無論我設置的屬性和我寫的方法如何。
在.plist
我只支持方向LandscapeLeft和Right。在設置視圖控制器,我有那些方法:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return UIInterfaceOrientationIsLandscape(interfaceOrientation) || (UI_USER_INTERFACE_IDIOM() != UIUserInterfaceIdiomPhone);
}
- (BOOL) shouldAutorotate {
return YES;
}
- (NSUInteger)supportedInterfaceOrientations {
return (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)?UIInterfaceOrientationMaskLandscape:UIInterfaceOrientationMaskAll;
}
但真正困擾我的是,當我顯示self.interfaceOrientation
它說景觀(在viewWillAppear
,viewDidAppear
和viewWillLayoutSubviews
)。
但最奇怪的是,狀態欄是在景觀,在縱向視圖控制器!
(當然,這個問題似乎無論在設備和仿真器)
因此,如果有人可以幫助將回到那個所有的ViewController景觀。提前致謝!
如果有人在iOS 3(或4)上使用它,並且您是否應該繼續支持這些版本,您是否有任何分析? – Wain
是的,不幸的。但是如果你有一個適用於iOS 5+的解決方案,我很高興聽到它,我將把它帶回iOS 4 -... – Zaphod
你說你的plist只是表示風景模式。你也不需要在那裏支持肖像嗎?然後通過視圖控制器指定允許的方向視圖控制器。 – Rob