キー - 値コーディング拡張

キー - 値コーディング拡張

CoreAnimationこれは、拡張しNSKeyValueCoding、それが依存しているため、プロトコルをCAAnimation、およびCALayerクラス。この拡張は、のためにいくつかのキーのデフォルトのカプセル化、拡張契約を追加しCGPointCGRectCGSizeCATransform3Dキーパスのサポートを追加します

キー - 値コーディング準拠のコンテナクラス

CAAnimationそしてCALayerクラスは、コンテナクラスキー準拠-であり、すなわち設定値を符号化値は、任意のキーであってもよいです。キーがされていない場合でも、CALayerクラスで宣言されたプロパティ、あなたはまた、次のように値を設定することができます

[theLayer setValue: @50 forKey: @"someKey"];

あなたはまた、任意のキーに対応する値を得ることができる、などの他のキーが同じパスに対応する値を取得します。以下の

someKeyValue = [theLayer valueForKey: @"someKey"];

サポートのデフォルト値

CoreAnimation債券-コーディング規則値を追加するには、すなわち、クラスがセット値なしで、キーのデフォルト値を提供することができます。CAAnimationそして、CALayerクラスはを使用して、この大会をサポートするdefaultValueForKey:クラスメソッド。準拠しながら期待は、クラスのサブクラスを作成する必要があり、キーのデフォルト値を提供するdefaultValueForKey:クラスメソッド。このメソッドの実装は、重要なパラメータをチェックし、適切なデフォルト値を戻します。次の例

+ (id)defaultValueForKey:(NSString *)key {
	if ([key isEqualToString: @"maskToBounds"]) {
		return @(YES);
	}
	return [super defaultValueForKey: key];
}

パッケージは、合意されました

C言語タイプ パッケージタイプ
するCGPoint NSValue
cgsizへ NSValue
CGRect NSValue
CATransform3D NSValue
CGAffineTransform NSAffineTransform(OS Xのみ)

キーパスの支持構造

CAAnimationそしてCALayerクラスは、データ構造のキーフィールドを使用してアクセスパスを許可します。この機能は、あなたが望む映画を取得するには、フィールドの構造を指定する方が便利です。することによりsetValue: forKeyPath:、設定とvalueForKeyPath:取得

[myLayer setValue: @10.0 forKeyPath: @"transform.translation.x"];
  • CATransform3D クリティカルパス
キーパスフィールド 説明
rotation.x NSNumberオブジェクトが配置され、Xラジアンを回転させます
rotation.y NSNumberオブジェクトが配置され、Yは、ラジアン回転しました
rotation.z NSNumberオブジェクトが提供され、Zラジアンを回転させます
回転 設定するNSNumberは同じ効果で、オブジェクトrotation.z
scale.x NSNumberオブジェクトが配置され、X延伸倍率
scale.y NSNumberオブジェクトが配置され、Y延伸倍率
scale.z NSNumberオブジェクトが提供され、Z延伸倍率
規模 NSNumberオブジェクトが提供され、三方向伸長因子
translation.x NSNumberオブジェクトが配置され、X方向移動量
translation.y NSNumberオブジェクトはモバイルに、Y値に配置されています
translation.z NSNumberオブジェクトはモバイルに、Z値が設けられています
翻訳 NSValueは、モバイルへのオブジェクト(またはNSSizeデータ・タイプを含むCGSize)、XとYの値を提供しました
  • CGPoint クリティカルパス
構造体のフィールド 説明
バツ ポイントのX値
点のY値
  • CGSize クリティカルパス
構造体のフィールド 説明
高さ 高いです
  • CGRect クリティカルパス
構造体のフィールド 説明
原点 ポイント
origin.x X値
origin.y Y値
サイズ サイズ
size.width
size.height 高いです

おすすめ

転載: www.cnblogs.com/tzsh1007/p/12427857.html
おすすめ