私は現在、プログラムでサイズクラスを使用する方法を探しています。
確認する最も簡単な方法は、ビュー コントローラーの traitCollection を確認することです。
po self.traitCollection
またはトランジションを聞く:
最初に UIContentContainer プロトコルを使用します
@interface ViewController : UIViewController<UIContentContainer>
次に、willTransitionToTraitCollectionを実装します。
- (void)willTransitionToTraitCollection:(UITraitCollection *)newCollection withTransitionCoordinator:(id <UIViewControllerTransitionCoordinator>)coordinator
{
}
newCollection 要素には、目的に使用できる情報があります。iPhone 6 を横向きに回転させたときに返される情報は次のとおりです。
<UITraitCollection: 0x7f9ad152f320; _UITraitNameUserInterfaceIdiom = Phone, _UITraitNameDisplayScale = 2.000000, _UITraitNameHorizontalSizeClass = Compact, _UITraitNameVerticalSizeClass = Compact, _UITraitNameTouchLevel = 0, _UITraitNameInteractionModel = 1>
そして肖像画に:
<UITraitCollection: 0x7f9ad142d770; _UITraitNameUserInterfaceIdiom = Phone, _UITraitNameDisplayScale = 2.000000, _UITraitNameHorizontalSizeClass = Compact, _UITraitNameVerticalSizeClass = Regular, _UITraitNameTouchLevel = 0, _UITraitNameInteractionModel = 1>
そこから、横向きでは横方向と縦方向の両方に Compact Size Class を使用し、縦向きの場合はVertical Size Class を使用することがわかります。