iOS动画的图层响应用户输入
来源:互联网 发布:淘宝跟天猫哪个质量好 编辑:程序博客网 时间:2024/06/16 12:11
每个图层属性的显示值都被存储在一个叫做呈现图层的独立图层当中,他可以通过-presentationLayer方法来访
问。
这个呈现图层实际上是模型图层的复制,但是它的属性值代表了在任何指定时刻当前外观效果。换句话说,你可以通过呈现图层的值来获取当前屏幕上真正显示出来的值。大多数情况下,你不需要直接访问呈现图层,你可以
通过和模型图层的交互,来让Core Animation更新显示。两种情况下呈现图层会变得很有用,一个是同步动画,一
个是处理用户交互。
eg:
@interface ViewController ()
@property (nonatomic, strong) CALayer *colorLayer;
@end
@implementation ViewController
- (void)viewDidLoad
{
[
super
viewDidLoad];
//create a red layer
self.colorLayer = [CALayer layer];
self.colorLayer.frame = CGRectMake(0, 0, 100, 100);
self.colorLayer.position = CGPointMake(self.view.bounds.size.width / 2, self.view.bounds.size.height / 2);
self.colorLayer.backgroundColor = [UIColor redColor].CGColor;
[self.view.layer addSublayer:self.colorLayer];
}
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
//get the touch point
CGPoint point = [[touches anyObject] locationInView:self.view];
//check if we've tapped the moving layer
if
([self.colorLayer.presentationLayer hitTest:point]) {
//randomize the layer background color
CGFloat red = arc4random() / (CGFloat)INT_MAX;
CGFloat green = arc4random() / (CGFloat)INT_MAX;
CGFloat blue = arc4random() / (CGFloat)INT_MAX;
self.colorLayer.backgroundColor = [UIColor colorWithRed:red green:green blue:blue alpha:1.0].CGColor;
}
else
{
//otherwise (slowly) move the layer to new position
[CATransaction begin];
[CATransaction setAnimationDuration:4.0];
self.colorLayer.position = point;
[CATransaction commit];
}
}
@end
阅读全文
0 0
- iOS动画的图层响应用户输入
- iOS 动画 图层
- 【iOS开发-90】CALayer图层:自定义图层,图层的一些动画
- ios-day18-04(图层CALayer的隐式动画)
- ios实现CALayer层的动画点击
- iOS layer层的转场动画
- IOS动画UI层的研究
- iOS动画进阶(三)图层几何学
- iOS动画进阶(六)专用图层
- iOS动画进阶(九)图层时间
- iOS动画进阶(十五)图层性能
- iOS 图层和动画(1)
- iOS 图层和动画(2)
- U3d的响应用户输入的角色控制
- iOS - UITextField输入错误的震动动画
- iOS - 绘图,基本动画,关键帧动画,常用图层
- ios - 基本的用户输入和输出
- ios 动画中如何正确响应button的各种事件
- 如何装GPT+UEFI / MBR+BIOS的系统
- java实现0-9数字统计个数的投票计数
- Resnet学习笔记(三)--image_processing.py
- 机器学习
- 设计模式原则
- iOS动画的图层响应用户输入
- 文章收藏
- JavaWeb之JSP
- 从零开始学spring-boot(2)-集成spring-data-jpa
- 【解决】Caused by: org.apache.tiles.definition.DefinitionsFactoryException: I/O
- 考研现场确认之搞笑
- Centos 一键安装PHP环境,到网站迁移上线
- 【JAVA-基础】日志框架(SLF4J)
- java实现下载网络服务器上的附件/图片到本地