与时俱进的IT

UI(五十一)动力行为

2018-07-30  本文已影响0人  社会主义顶梁鹿

#pragma mark---知识点---

 1、简介:属于UIKit

 (1)什么是动力行为?

 模拟真实世界中力学相关的动画和交互系统

 (2)可以实现的效果

 重力、碰撞、吸附、推动、捕捉效果,并且可以组合

 (3)ios9 UIDynamicItemGroup 可以统一给一组元素添加动力行为

 (4)ios9 可以定义成以球形的方式去接触另一个边境或元素

 2、类名介绍

 (1)UIDynamicAnimation 动力效果的动画播放者

 《1》initWithReferenceView 初始化动力效果播放者 并制定参考视图

 《2》addBehavior:添加动力行为

 《3》removeBehavior:移除某个动力行为

 《4》removeAllBehaviors 移除所有动力行为

 《5》delegate 代理

 (2)动力效果的动画行为

 《1》UIGravityBehavior 重力效果行为 会影响到动力元素的属性(frame)

 1.initWithItems:初始化重力效果行为 并指定作用对象

 2.addItem:添加重力效果作用对象

 3.removeItem:移除作用对象

 4.gravityDirection 重力的方向

   CGVector:表示矢量的结构体 值:0-1

   x:横向重力

   y:竖向重力

 受加速度的影响

 5.Angle:更改重力效果的角度

 6.magnitude:加速度的级别 1.0代表加速度是1000 points /second²

 7.setAngle:magnitude:设置重力方向的角度 和速度

 《2》UICollisionBehavior 碰撞行为

 (1)initWithItems:

 (2)collisionMode:

UICollisionBehaviorModeItems 元素碰撞

UICollisionBehaviorModeBoundaries 边境碰撞

UICollisionBehaviorModeEverything 所有都可以碰撞

 (3)collisionDelegate 碰撞效果的代理

 元素碰撞的时候 调用

   - (void)collisionBehavior:(UICollisionBehavior *)behavior beganContactForItem:(id)item1 withItem:(id)item2 atPoint:(CGPoint)p

   - (void)collisionBehavior:(UICollisionBehavior *)behavior endedContactForItem:(id)item1 withItem:(id)item2

 边境碰撞的时候 调用

   - (void)collisionBehavior:(UICollisionBehavior*)behavior beganContactForItem:(id)item withBoundaryIdentifier:(nullable id)identifier atPoint:(CGPoint)p

   - (void)collisionBehavior:(UICollisionBehavior*)behavior endedContactForItem:(id)item withBoundaryIdentifier:(nullable id)identifier

 (4)addBoundaryWithIdentifier:forPath:添加路径 为边境

 (5)- (nullable UIBezierPath *)boundaryWithIdentifier:(id)identifier

 (6)addBoundaryWithIdentifier:fromPoint:toPoint:添加一条线为边境

 (7)removeBoundaryWithIdentifier 移除

 (8)translatesReferenceBoundsIntoBoundary是否 以参照视图作为边界

 (9)setTranslatesReferenceBoundsIntoBoundaryWithInsets:设置参照视图的内间距

 《3》UIPushBehavior

 《4》UISnapBehavior

 《5》UIAttachmentBehavior

 《6》UIDynamicItemBehavior

上一篇 下一篇

猜你喜欢

热点阅读