关于CALayer及其和UIView的区别与选择
2016-01-12 21:42
351 查看
首先:
CALayer是定义在QuartzCore框架中的
CGImageRef、CGColorRef两种数据类型是定义在CoreGraphics框架中的
UIColor、UIImage是定义在UIKit框架中的
其次:
QuartzCore框架和CoreGraphics框架是可以跨平台使用的,在iOS和Mac OS X上都能使用(C 语言编写)
但是UIKit只能在iOS中使用(Objective-C)
为了保证可移植性,QuartzCore不能使用UIImage、UIColor,只能使用CGImageRef、CGColorRef
导入其他框架的方式:选中项目,
在 General中找
Linked Frameworks and Libraries添加对应的框架
设置一个控件的位置和大小有两种方式:
1.直接设置frame
2.设置bounds和center
设置UIView的背景颜色和透明度,底层都是操作的图层layer的背景颜色和透明度。
设置layer的位置时设置其position属性,设置UIView的center底层调用的是其所在layer的position。
确定layer的位置由position和anchorPoint两个属性决定,将anchorPoint对应到父控件的position点上。
隐式动画:非rootLayer即自己手动创建的layer才具有隐式动画的属性。Animatable properties。每一个UIView内部都默认关联着一个CALayer,称这个Layer为RootLayer。
UIView本身不具备显示的功能,是因为它内部的层layer才有显示功能:
关于UIView和CALayer的选择:
要显示layer阴影,阴影的颜色、宽度、偏移量缺一不可。阴影模糊度shadowRadius
CALayer是定义在QuartzCore框架中的
CGImageRef、CGColorRef两种数据类型是定义在CoreGraphics框架中的
UIColor、UIImage是定义在UIKit框架中的
其次:
QuartzCore框架和CoreGraphics框架是可以跨平台使用的,在iOS和Mac OS X上都能使用(C 语言编写)
但是UIKit只能在iOS中使用(Objective-C)
为了保证可移植性,QuartzCore不能使用UIImage、UIColor,只能使用CGImageRef、CGColorRef
导入其他框架的方式:选中项目,
在 General中找
Linked Frameworks and Libraries添加对应的框架
设置一个控件的位置和大小有两种方式:
1.直接设置frame
2.设置bounds和center
设置UIView的背景颜色和透明度,底层都是操作的图层layer的背景颜色和透明度。
设置layer的位置时设置其position属性,设置UIView的center底层调用的是其所在layer的position。
确定layer的位置由position和anchorPoint两个属性决定,将anchorPoint对应到父控件的position点上。
隐式动画:非rootLayer即自己手动创建的layer才具有隐式动画的属性。Animatable properties。每一个UIView内部都默认关联着一个CALayer,称这个Layer为RootLayer。
UIView本身不具备显示的功能,是因为它内部的层layer才有显示功能:
关于UIView和CALayer的选择:
要显示layer阴影,阴影的颜色、宽度、偏移量缺一不可。阴影模糊度shadowRadius
相关文章推荐
- iOS开发- iOS7显示偏差(UITableView下移)解决的方法
- Volley中RequestQueue对request的add优化处理
- iOS UI-应用管理(使用Cell模板)
- UI学习第05天
- UISecollection集合视图
- iOS8中提示框的使用UIAlertController(UIAlertView和UIActionSheet二合一)
- 51. N-Queens && 52. N-Queens II
- SpannableStringBuilder实现图文混排
- uiautomator的坑和AAPT命令方式启动一个应用程序
- 蓝懿IOS学习UICollectionView实战轮播图
- 小菊花和UITextField
- easyui异步
- uiimageView 的图片拉伸问题的解决办法
- UITableView 笔记
- UI课程(ScrollView)
- UIAutomator输入中文
- Android EditText 的<requestFocus />用于点击tab键或enter键焦点自动进入下一个输入框
- 一个基于 EasyUI 的前台架构(5)右键快捷菜单
- iOS开发UI篇—Quartz2D简单介绍
- UISearchController和谓词