CAlayer一
// // ViewController.m // Layer // // Created by City--Online on 15/4/9. // Copyright (c) 2015年 City--Online. All rights reserved. // #import "ViewController.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; UIButton *btn=[UIButton buttonWithType:UIButtonTypeSystem]; btn.frame=CGRectMake(150, 250, 50, 80); [btn setTitle:@"按钮" forState:UIControlStateNormal]; [btn setTitleColor:[UIColor redColor] forState:UIControlStateNormal]; [btn addTarget:self action:@selector(btnclick:) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:btn]; //图层属性 self.myview=[[UIView alloc]init]; self.myview.frame=CGRectMake(100, 100, 100, 100); //设置背景色 self.myview.layer.backgroundColor=[UIColor redColor].CGColor; //设置边框宽度 self.myview.layer.borderWidth=5; //设置圆角 self.myview.layer.cornerRadius=20; //设置透明度 self.myview.layer.opacity=0.9; //设置内容 id类型 self.myview.layer.contents=(id)[UIImage imageNamed:@"test.jpg"].CGImage; //设置边框颜色 self.myview.layer.borderColor=[UIColor greenColor].CGColor; //设置超过自图层的部分剪掉,否则设置圆角后contents中图片的四个角的部分还会显示出来 当设置此属性为yes时,阴影看不到 self.myview.layer.masksToBounds=YES; //设置阴影颜色 self.myview.layer.shadowColor=[UIColor blackColor].CGColor; // 设置阴影偏移量 width正往右 height正往下 self.myview.layer.shadowOffset=CGSizeMake(5, 15); //设置阴影透明度 默认0 self.myview.layer.shadowOpacity=1.0; [self.view addSubview:self.myview]; //图层创建 CALayer *calayer=[[CALayer alloc]init]; // calayer.frame=CGRectMake(220, 100, 100, 100); calayer.bounds=CGRectMake(0, 0, 100, 100); calayer.position=CGPointMake(260, 150); calayer.backgroundColor=[UIColor redColor].CGColor; calayer.contents=(id)[UIImage imageNamed:@"test.jpg"].CGImage; calayer.masksToBounds=YES; calayer.cornerRadius=20; calayer.borderWidth=5; [self.view.layer addSublayer:calayer]; } -(void)btnclick:(id)sender { //有时候UIView和CALayer都能解决同样的问题,UIView和CAlayer用什么比较好? //UIView继承UIResponder,可以响应用户事件,CAlayer的话是没继承UIResponder,没有响应,CAlayer是轻量的 //2d旋转变化 // self.myview.transform=CGAffineTransformMakeTranslation(100, 100);//UIView变化 // self.myview.layer.affineTransform=CGAffineTransformMakeTranslation(100, 100);//clayer变换 // // self.myview.layer.transform=CATransform3DMakeScale(2,2,0);//缩放 // self.myview.layer.transform=CATransform3DMakeTranslation(20,20,0);//平移 // self.myview.layer.transform=CATransform3DMakeRotation(3.1415926, 1, 1, 0.5);//旋转 //kvox 设置 NSValue *v=[NSValue valueWithCATransform3D:CATransform3DMakeTranslation(100, 20, 0)]; [self.myview.layer setValue:v forKeyPath:@"transform"]; // 如果是只需要设置在某一个方向上的移动,可以参考下面的代码 // [self.myview.layer setValue:@(-100) forKeyPath:@"transform.translation.x"]; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } @end
CAlayer一的更多相关文章
- CALayer基本介绍与常见属性
属性框架:QuartzCore CA: CoreAnimation -> 核心动画,所有的核心动画都是添加给layer的! 与UIView的区别: 1.layer负责内容的展示,不接受任何用户交 ...
- iOS CALayer应用详解(2)
参考博客:http://blog.csdn.net/hello_hwc?viewmode=list 如果你对CALayer 还没有一个清晰的理解,欢迎看一下前面的博客: http://www.cnbl ...
- iOS CALayer应用详解
跟着大神一起进步,本篇博客原文地址:http://blog.csdn.net/hello_hwc?viewmode=contents 一 CALayer是什么? Layers是绘图和动画的基础, L ...
- iOS开发UI篇—CAlayer(自定义layer)
iOS开发UI篇—CAlayer(自定义layer) 一.第一种方式 1.简单说明 以前想要在view中画东西,需要自定义view,创建一个类与之关联,让这个类继承自UIView,然后重写它的Draw ...
- iOS开发UI篇—CAlayer层的属性
iOS开发UI篇—CAlayer层的属性 一.position和anchorPoint 1.简单介绍 CALayer有2个非常重要的属性:position和anchorPoint @property ...
- iOS开发UI篇—CAlayer(创建图层)
iOS开发UI篇—CAlayer(创建图层) 一.添加一个图层 添加图层的步骤: 1.创建layer 2.设置layer的属性(设置了颜色,bounds才能显示出来) 3.将layer添加到界面上(控 ...
- iOS开发UI篇—CALayer简介
iOS开发UI篇—CALayer简介 一.简单介绍 在iOS中,你能看得见摸得着的东西基本上都是UIView,比如一个按钮.一个文本标签.一个文本输入框.一个图标等等,这些都是UIView. 其实 ...
- CALayer 4 详解 -----转自李明杰
CALayer4-自定义层 本文目录 一.自定义层的方法1 二.自定义层的方法2 三.其他 自定义层,其实就是在层上绘图,一共有2种方法,下面详细介绍一下. 回到顶部 一.自定义层的方法1 方法描 ...
- CALayer 3 详解 -----转自李明杰
CALayer3-层的属性 本文目录 一.隐式动画属性 二.position和anchorPoint 回到顶部 一.隐式动画属性 * 在前面几讲中已经提到,每一个UIView内部都默认关联着一个C ...
- CALayer 2 详解 -----转自李明杰
CALayer2-创建新的层 本文目录 一.添加一个简单的图层 二.添加一个显示图片的图层 三.为什么CALayer中使用CGColorRef和CGImageRef这2种数据类型,而不用UICol ...
随机推荐
- LED点阵书写显示
LED点阵书写显示屏 摘要:随着时代的发展,数字电子技术已经普及到我们生活,工作,科研,各个领域,而LED显示以其组构方式灵活.显示稳定.功耗低.寿命长.技术成熟.成本低廉等特点在车站.证券所.运 ...
- 转:log4j的使用简介
spring使用log4j,可以有2种方法. 1.在web.xml里不做任何配置. log4j.properties放在classpath根目录下, 这时候生成的日志文件就没有相对路径,如果写相对路径 ...
- [mysqli_escape]mysql转义两次
// mysqli_real_escape_string // 第一次转义的结果 SELECT * FROM example WHERE f_email='example@exampl.com' an ...
- VIM 实现tab标签页及分屏,切换命令
1,在一个窗口中,VIM 的小tab标签页命令: :tabnew [++opt选项] [+cmd] 文件 建立对指定文件新的tab :tabc 关闭当前的tab ...
- C#常用修饰符
访问修饰符 访问修饰符是一些关键字,用于指定声明的成员或类型的可访问性,C#有4个访问修饰符:public.private.protected.internal,使用这些访问修饰符可以指定以下5个访问 ...
- FastReport使用方法(C/S版)
前言 这两天群里一直有群友问一些关于FastReport的问题,结合他们的问题,在这里做一个整理,有不明白的可以加 FastReport 交流群 群 号:554714044 工具 VS2017 + ...
- Android 四大组件之“ BroadcastReceiver ”
前言 Android四大组件重要性已经不言而喻了,今天谈谈的是Android中的广播机制.在我们上学的时候,每个班级的教室里都会装有一个喇叭,这些喇叭都是接入到学校的广播室的,一旦有什么重要的通知,就 ...
- [WC2005]双面棋盘(线段树+并查集)
线段树+并查集维护连通性. 好像 \(700ms\) 的时限把我的常数超级大的做法卡掉了, 必须要开 \(O_2\) 才行. 对于线段树的每一个结点都开左边的并查集,右边的并查集,然后合并. \(Co ...
- RegexHelper.js
var Validator = { VerityLib: { //验证字符串非空 IsNotEmpty: function (input) { if (input != '') { return tr ...
- windows 系统安装git的方法
windows 系统安装git的方法 msysgit是Windows版的Git,从https://git-for-windows.github.io下载 安装默认步骤,一步步安装即可 安装完成后,在开 ...