キー - 値コーディング拡張
CoreAnimation
これは、拡張しNSKeyValueCoding
、それが依存しているため、プロトコルをCAAnimation
、およびCALayer
クラス。この拡張は、のためにいくつかのキーのデフォルトのカプセル化、拡張契約を追加しCGPoint
、CGRect
、CGSize
、CATransform3D
キーパスのサポートを追加します
キー - 値コーディング準拠のコンテナクラス
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 | 高いです |