UITraitEnvironment


継承:なし


従属:NSObject(protocol)


フレームワーク:iOS 8.0 以降の UIKit。


宣言:UITraitCollection.h




水平および垂直方向のサイズクラス、表示スケール、およびユーザー・インターフェース・イディオムのような形質を含む iOS のインターフェース環境は、UITraitEnvironment プロトコル経由でアプリに利用可能です。以下のインターフェイスクラスは、このプロトコルを採用しています: UIScreenUIWindowUIViewControllerUIPresentationController、と UIView


このプロトコルを採用しているオブジェクトの形質の環境にアクセスするには、traitCollection プロパティを使用して下さい。プロトコルはまた、システムがインタフェース環境が変化した時呼び出すオーバーライド可能なメソッドを提供します。適応する iOS アプリ作成の一環として、このメソッドを実装します。


形質コレクションの詳細については、UITraitCollection クラスリファレンス を参照してください。iOS の適応インタフェースの作成に関する WWDC2014 のプレゼンテーションについては、UIKit で適応するアプリをビルド(Building Adaptive Apps with UIKit) を参照してください。


タスク


形質コレクションへのアクセス


traitCollection 必須プロパティ


ビューコントローラの形質コレクション (UIViewController クラスまたはそのサブクラスのインスタンス) またはビュー (UIView クラスまたはそのサブクラスのインスタンス)。(読み取り専用)


宣言


<< SWIFT >>

var traitCollection: UITraitCollection { get }


<< OBJECTIVE-C >>

@property(nonatomic, readonly, nonnull) UITraitCollection *traitCollection


議論

UITraitEnvironment プロトコルは、ビューコントローラとビューによって採用されています。


重要: 直接 traitCollection プロパティを使用して下さい。上書きしないでください。カスタム実装を提供しないでください。


利用可能

iOS 8.0 以降で利用可能。





インターフェイス環境の変化への対応


- traitCollectionDidChange: 必須


iOS のインターフェイス環境が変化したときに呼び出されます。


宣言


<< SWIFT >>

func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?)


<< OBJECTIVE-C >>

- (void)traitCollectionDidChange:(UITraitCollection * _Nullable)previousTraitCollection


パラメータ


previousTraitCollectionインターフェース環境が変更される前の UITraitCollection


議論

iOS のインターフェイス環境が変化したときにシステムがこのメソッドを呼び出します。このような変化に対応するために、あなたのアプリの必要性に応じて、ビューコントローラとビューで、このメソッドを実装します。例えば、iPhone をポートレートからランドスケープに回転させた場合、ビューコントローラのサブビューのレイアウトを調整するでしょう。このメソッドのデフォルト実装は空です。


実装の開始時に、ビュー階層の上位のインターフェイス要素が最初にレイアウトを調整する機会があるのを確認するために、super を呼び出します。このようなコードを使用して下さい。


  1. - (void) traitCollectionDidChange: (UITraitCollection *) previousTraitCollection {
  2.         [super traitCollectionDidChange: previousTraitCollection];
  3.         if ((self.traitCollection.verticalSizeClass != previousTraitCollection.verticalSizeClass)
  4.                 || self.traitCollection.horizontalSizeClass != previousTraitCollection.horizontalSizeClass)) {
  5.                 // your custom implementation here
  6.         }
  7. }


訳注: 4行目の ) が一つ多いようです。要注意。


iOS 8.0 以降で利用可能。





目次
Xcode の新機能

  • UITraitEnvironment
    概観
  • タスク
  • 形質コレクションへのアクセス
  • traitCollection
  • インターフェイス環境の変化への対応
    traitCollectionDidChange:
    文書改定履歴












    トップへ(UITraitEnvironment)












    トップへ(UITraitEnvironment)












    トップへ(UITraitEnvironment)












    トップへ(UITraitEnvironment)












    トップへ(UITraitEnvironment)












    トップへ(UITraitEnvironment)












    トップへ(UITraitEnvironment)












    トップへ(UITraitEnvironment)