ViewControllerのなかでtraitCollectionの情報を取得
画面サイズの情報を取得
- int verticalSize = self.traitCollection.verticalSizeClass; //縦方向サイズを取得
- int horizontalSize = self.traitCollection.horizontalSizeClass; //横方向サイズを取得
返り値
- UIUserInterfaceSizeClassUnspecified=0 //Unspecified
- UIUserInterfaceSizeClassCompact=1 //Compact
- UIUserInterfaceSizeClassRegular=2 //Regular
使用例
if(self.traitCollection.verticalSizeClass == UIUserInterfaceSizeClassCompact){
//縦サイズがCompactの場合 ≒ iPhoneが横向きの場合
}
デバイスの種別情報を取得
- int thisDevice = self.traitCollection.userInterfaceIdiom; //デバイスの種別情報を取得
返り値
- UIUserInterfaceIdiomUnspecified=-1 //Unspecified
- UIUserInterfaceIdiomPhone=0 //iPhone
- UIUserInterfaceIdiomPad=1 //iPad
- UIUserInterfaceIdiomTV //AppleTV
- UIUserInterfaceIdiomCarPlay //CarPlay
使用例
switch(self.traitCollection.userInterfaceIdiom ){
case UIUserInterfaceIdiomPhone: //iPhoneの場合
break;
case UIUserInterfaceIdiomPad: //iPadの場合
break;
}
取得のタイミング
- viewWillAppear内で取得するとUnspecifiedとなりうまく取得できない。
- viewWillLayoutSubviews内で取得すると良好。