首先:
CALayer 是定义在 QuartzCore 框架中的
CGImageRef 、 CGColorRef 两种数据类型是定义在 CoreGraphics 框架中的
UIColor 、 UIImage 是定义在 UIKit 框架中的
其次:
QuartzCore 框架和 CoreGraphics 框架是可以跨平台使用的,在 iOS 和 Mac OS X 上都能使用( C 语言编写)
但是 UIKit 只能在 iOS 中使用( Objective-C )
为了保证可移植性, QuartzCore 不能使用 UIImage 、 UIColor ,只能使用 CGImageRef 、 CGColorRef
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