UIKit框架之UIDynamicAnimator
1.继承链:NSObject
2.可以遵守UIDynamicItem协议
3.为了能够使用动态行为,你需要使用这些类创建的对象: UIAttachmentBehavior, UICollisionBehavior, UIDynamicItemBehavior, UIGravityBehavior, UIPushBehavior, and UISnapBehavior.
4.初始化和管理动态动画
(1)- (instancetype)initWithReferenceView:(UIView *)view :为一个视图初始化动态对象
(2)- (instancetype)initWithCollectionViewLayout:(UICollectionViewLayout *)layout :使用一个指定的collection视图布局来初始化动态动画对象
(3)- (NSArray<id<UIDynamicItem>> *)itemsInRect:(CGRect)rect :返回一个指定矩形内的动态动画item
(4)- (void)addBehavior:(UIDynamicBehavior *)behavior :为动态动画添加行为、如重力、碰撞
(5)- (void)removeBehavior:(UIDynamicBehavior *)behavior :为动态动画删除指定的行为
(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 :
UIKit框架之UIDynamicAnimator的更多相关文章
- iOS开发概述UIkit动力学,讲述UIKit的Dynamic特性,UIkit动力学是UIkit框架中模拟真实世界的一些特性。
转发:http://my.oschina.net/u/1378445/blog/335014 iOS UIKit动力学 Dynamics UIAttachmentBehavior 实现iMessage ...
- Swift - 重写UIKit框架类的init初始化方法(以UITabBarController为例)
原来写了篇文章讲UITabBarController的用法,当时是从UIViewController跳转到UITabBarController页面,代码如下: 1 self.presentViewCo ...
- UIKit框架
在今后的应用程序构建中,会陆续使用各式各样的控件,因此UIKit框架的引入是必不可少的! 一.简介 UIKitk框架提供一系列的Class(类)来建立和管理iPhone OS应用程序的用户界面接口.应 ...
- iOS学习32之UIKit框架-可视化编程-XIB
1. Interface Builder 可视化编程 1> 概述 GUI : 图形用户界面(Graphical User Interface, 简称GUI, 又称图形化界面) 是指采用图形方式显 ...
- 基础框架Fundation和UIkit框架的定义和使用
Foundation 框架为所有应用程序提供基本的系统服务 您的应用程序以及 UIKit 和其他框架,都建立在 Foundation 框架的基础结构之上.Foundation 框架提供许多基本的对象类 ...
- iOS开发UIKit框架-可视化编程-XIB
1. Interface Builder 可视化编程 1> 概述 GUI : 图形用户界面(Graphical User Interface, 简称GUI, 又称图形化界面) 是指采用图形方式显 ...
- 79、iOS 的Cocoa框架、Foundation框架以及UIKit框架
Cocoa框架是iOS应用程序的基础 1. Cocoa是什么? Cocoa是 OS X和ios 操作系统的程序的运行环境. 是什么因素使一个程序成为Cocoa程序呢?不是编程语言,因为在Cocoa开发 ...
- UIKit 框架之UIView二
下面这些都是UIView一些基本的东西,具体的可以参考UIKit 框架之UIView一博客 一.自定义一个View // // MyView.m // UIView // // Created by ...
- UIKit 框架之Bar、Controller
UIKit框架中有各种Bar,UITabBar.UINavigationBar.UIToolbar.Bar对应的就有一些Item,tabBarItem.navigationItem.toolbarIt ...
随机推荐
- UI测试 错题分析
从服务器端获取的json对象,可以直接访问对象中的属性 该属性的作用就是C text属性显示节点文本,state属性默认为open 看错行 不能用 ' ' 包裹 state:节点状态,'open' ...
- 记一次log4j日志文件输出错误的解决
log4j错误信息:log4j:ERROR Failed to rename [D:/logs/wmts_] to [D:/logs/wmts_2015-12-21.log ]. 起因:部门网站使用B ...
- include包含头文件的语句中,双引号和尖括号的区别是什么?
include包含头文件的语句中,双引号和尖括号的区别是什么? #include <> 格式:引用标准库头文件,编译器从标准库目录开始搜索 尖括号表示只在系统默认目录或者括号内的路径查找 ...
- .net乱码问题
最近在给一个客户做framwwork版本升级,从1.0版本升级到4.0版本,发现最大的问题就是乱码. 在1.0版本下,gb2312编码能够运行得很好,可是升级到4.0后就都是乱码. 随后将webcon ...
- MacOS长按无效问题
defaults write -g ApplePressAndHoldEnabled -bool FALSE 注销并重新登录系统使其更改生效. 如果需要恢复长按键盘可以重音字符或非英文字符的功能,请打 ...
- 《TCP/IP详解 卷1:协议》读书笔记
第一章 概述 协议栈 应用层 HTTP,FTP 运输层 TCP, UDP 段(Segment) 网络层 IP, ICMP, IGMP 数据报(Datagram) 链路层 帧(Frame) 物理 ...
- 关于display:inline-block和float:left的区别
<div class="pag"> <a href="#">首页</a> <a href="#"& ...
- Golang的Interface是个什么鬼
问题概述 Golang的interface,和别的语言是不同的.它不需要显式的implements,只要某个struct实现了interface里的所有函数,编译器会自动认为它实现了这个interfa ...
- mysql与sqlserver之间的关系转换
sqlserver中的数据类型与mysql之间的对应 --sqlserver = 只复制表结构 = 复制表结构和表数据 --mysql create table xx like xx; 只复制表结构 ...
- 关于jquery中html()、text()、val()的区别
1. .html()用为读取和修改元素的HTML标签 对应js中的innerHTML .html()是用来读取元素的HTML内容(包括其Html标签),.html()方法使用在多个元素上时,只读 ...