1.繼承鏈:NSObjecthtml
2.能夠遵照UIDynamicItem協議
api
3.爲了可以使用動態行爲,你須要使用這些類建立的對象: UIAttachmentBehavior
, UICollisionBehavior
, UIDynamicItemBehavior
, UIGravityBehavior
, UIPushBehavior
, and UISnapBehavior
.app
4.初始化和管理動態動畫佈局
(1)- (instancetype)initWithReferenceView:(UIView *)view
:爲一個視圖初始化動態對象動畫
(2)- (instancetype)initWithCollectionViewLayout:(UICollectionViewLayout *)layout
:使用一個指定的collection視圖佈局來初始化動態動畫對象atom
(3)- (NSArray<id<UIDynamicItem>> *)itemsInRect:(CGRect)rect
:返回一個指定矩形內的動態動畫itemspa
(4)- (void)addBehavior:(UIDynamicBehavior *)behavior
:爲動態動畫添加行爲、如重力、碰撞code
(5)- (void)removeBehavior:(UIDynamicBehavior *)behavior
:爲動態動畫刪除指定的行爲htm
(6)- (void)removeAllBehaviors :爲動態動畫刪除全部的行爲對象
5.讀取動態動畫的狀態
(1)- (NSTimeInterval)elapsedTime :返回動態動畫開始的時間
(2)@property(nonatomic, readonly, getter=isRunning) BOOL running :是否讓該動態動畫運行
(3)@property(nonatomic, readonly, copy) NSArray <__kindof UIDynamicBehavior *> *behaviors :返回該動態動畫全部的行爲
(4)@property(nonatomic, readonly) UIView *referenceView :返回該動態動畫參考的視圖,就是初始化的時候用的是哪一個視圖
(5)@property(nonatomic, weak) id< UIDynamicAnimatorDelegate > delegate :設置動態動畫的委託
(6)- (void)updateItemUsingCurrentState:(id<UIDynamicItem>)item
:讀取當前的狀態來進行更新動態動畫
6.儲藏添加視圖
(1)- (UICollectionViewLayoutAttributes *)layoutAttributesForCellAtIndexPath:(NSIndexPath *)indexPath
:返回指定索引的單元佈局屬性
(2)- (UICollectionViewLayoutAttributes *)layoutAttributesForDecorationViewOfKind:(NSString*)decorationViewKind
atIndexPath:(NSIndexPath*)indexPath
:
(3)- (UICollectionViewLayoutAttributes *)layoutAttributesForSupplementaryViewOfKind:(NSString *)kind
atIndexPath:(NSIndexPath*)indexPath
: