ios8 在iOS 8中不推薦使用InterfaceOrientation




uikit uiinterfaceorientation (2)

從iOS8開始,Apple建議使用TraitCollections(Size Classes)而不是interfaceOrientation。

而且,由於iOS 9和新的iPad功能“多任務”,有一些情況下,設備方向不適合窗口比例! (這導致制動你的應用程序用戶界面)

但是,有時候TraitCollections不能滿足您所有的設計需求。 對於這些情況,蘋果建議比較視圖的界限:

if view.bounds.size.width > view.bounds.size.height {
    // ...
}

我很驚訝,但你可以在21'15查看WWDC 2015視頻多功能iOS 9入門。

我沒有在我的項目中使用大小類,並繼續使用舊的方法視圖控制器方向。 我得到的是棄用警告,比如當我使用下面的代碼時:

    if (UIInterfaceOrientationIsPortrait(self.interfaceOrientation)) {
      ...
    }

我搜查了很多,但找不到正確的方法來解決它。 有什麼建議麼 ?


應改變

if (UIInterfaceOrientationIsPortrait(self.interfaceOrientation)) {
  ...
}

if (UIInterfaceOrientationIsPortrait([[UIApplication sharedApplication] statusBarOrientation])) {
  ...
}




auto-rotation