UIDynamicItem


継承:なし

従属:NSObject(Protocol)

フレームワーク: iOS 7.0 以降の UIKit。関連情報...


概観


UIKit のダイナミクスに参加するため適格なカスタムオブジェクトを作るには、オブジェクトのクラスで UIDynamicItem プロトコルを採用します。


iOS 7 以降では、UIViewUICollectionViewLayoutAttributes クラスは、このプロトコルを実装しています。


タスク


ダイナミックなアニメーションに参加


bounds 必須プロパティ


ダイナミックなアニメ制作者がダイナミックな項目の境界を必要とするときに呼び出されます。(読み取り専用)


宣言

<< SWIFT >>

var bounds: CGRect { get }

<< OBJECTIVE-C >>
@property(nonatomic, readonly) CGRect bounds


利用可能

iOS 7.0 以降で利用可能。





center 必須プロパティ


ダイナミックな項目の中心点。


宣言

<< SWIFT >>

var center: CGPoint { get set }

<< OBJECTIVE-C >>
@property(nonatomic, readwrite) CGPoint center


議論

ダイナミックなアニメ制作者(項目が関連付けられている) は、このメソッドが項目の新しい中心点を計算した時、このメソッドを呼び出します。


利用可能

iOS 7.0 以降で利用可能。





transform 必須プロパティ


ダイナミックな項目の回転。


宣言

<< SWIFT >>

var transform: CGAffineTransform { get set }

<< OBJECTIVE-C >>
@property(nonatomic, readwrite) CGAffineTransform transform


議論

UIKit Dynamics は、このプロパティの回転値だけを使います。


ダイナミックなアニメ制作者(アイテムが関連付けられている) は、このメソッドが項目の新しい回転値を計算した時、このメソッドを呼び出します。


利用可能

iOS 7.0 以降で利用可能。





collisionBoundsType プロパティ


項目に関連付けられた衝突境界の型。(読み取り専用)


宣言

<< SWIFT >>

optional var collisionBoundsType: UIDynamicItemCollisionBoundsType { get }

<< OBJECTIVE-C >>
@property(nonatomic, readonly) UIDynamicItemCollisionBoundsType collisionBoundsType


議論

ダイナミクスシステムは、動的な項目との衝突を評価する方法を決定するために、このプロパティを使用します。長方形や楕円形の境界が項目の bounds プロパティで定義されています。カスタム衝突境界の場合、境界の形状は collisionBoundingPath プロパティにあります。


動的な項目にこのプロパティを実装し、その値を UIDynamicItemCollisionBoundsTypePath に設定する場合は、collisionBoundingPath プロパティを実装し、有効なパスを提供しなければなりません。これを怠ると、プログラマのエラーになります。


このプロパティのデフォルト値は UIDynamicItemCollisionBoundsTypeRectangle です。


利用可能

iOS 9.0 以降で利用可能。





collisionBoundingPath プロパティ


衝突境界に使用する path ベースの形状。(読み取り専用)


宣言

optional var collisionBoundingPath: UIBezierPath { get }

<< OBJECTIVE-C >>
@property(nonatomic, readonly) UIBezierPath *collisionBoundingPath


議論

collisionBoundsType プロパティが UIDynamicItemCollisionBoundsTypePath である場合、このプロパティのオブジェクトは衝突境界として使用されます。あなたのダイナミックな項目が collisionBoundsType プロパティを実装する場合、このプロパティも実装しなければなりません。


作成したパスオブジェクトは、反時計回りまたは時計回りでの凸多角形を表さなければならず、パス自体交差してはなりません。パスの(0、0) の点は、対応するダイナミックな項目の center の点に位置する必要があります。center の点がパスの原点と一致しない場合、期待どおりには衝突動作は動作しない可能性があります。


利用可能

iOS 9.0 以降で利用可能。





定数


UIDynamicItemCollisionBoundsType


項目の衝突境界の形を示す定数。


宣言

<< SWIFT >>

enum UIDynamicItemCollisionBoundsType : UInt {
    case Rectangle
    case Ellipse
    case Path
}

<< OBJECTIVE-C >>
typedef enum UIDynamicItemCollisionBoundsType : NSUInteger {
   UIDynamicItemCollisionBoundsTypeRectangle,
   UIDynamicItemCollisionBoundsTypeEllipse , // radii will be determined from the items bounds width,
   height
   UIDynamicItemCollisionBoundsTypePath
} UIDynamicItemCollisionBoundsType;


定数


利用可能

iOS 9.0 以降で利用可能。





次の章
目次
Xcode の新機能
NSObject(class)

  • UIDynamicItem
  • 概観
  • タスク
  • ダイナミックなアニメーションに参加
  • bounds 必須プロパティ
    center 必須プロパティ
    transform 必須プロパティ
    collisionBoundsType プロパティ
    collisionBoundingPath プロパティ
  • 定数
  • UIDynamicItemCollisionBoundsType
    文書改定履歴












    トップへ(UIDynamicItem)












    トップへ(UIDynamicItem)












    トップへ(UIDynamicItem)












    トップへ(UIDynamicItem)












    トップへ(UIDynamicItem)












    トップへ(UIDynamicItem)












    トップへ(UIDynamicItem)












    トップへ(UIDynamicItem)












    トップへ(UIDynamicItem)












    トップへ(UIDynamicItem)












    トップへ(UIDynamicItem)












    トップへ(UIDynamicItem)












    トップへ(UIDynamicItem)












    トップへ(UIDynamicItem)












    トップへ(UIDynamicItem)