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 ...
随机推荐
- 我的ecshop二次开发经验分享
https://jingyan.baidu.com/article/358570f65dbad2ce4724fcc7.html
- redis -编译、启动、停止
一.下载.编译 redis是以源码方式发行的,先下载源码,然后在linux下编译 1.1 http://www.redis.io/download 先到这里下载Stable稳定版,目前最新版本是2.8 ...
- .NET 中的 GAC
GAC : ———> 全局程序集缓存 介绍GAC的好文章(怎么:生成SNK,给项目加强名称,加入到GAC,多个版本共存,介绍了不同的工具): http://www.makaidong.com/% ...
- 【转】javascript深入理解js闭包
原文:http://www.jb51.net/article/24101.htm 闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现. 一.变量的作 ...
- Mongodb--基础(连接,增删改查,数据类型)
mongodb 日常启动命令 mongod --dbpath D:\data\db 一.启动,连接 mongodb是一个非关系型数据库 1. 启动MongoDB服务: 安装时我并没有将mongodb服 ...
- 阻止事件冒泡,阻止默认事件,event.stopPropagation()和event.preventDefault(),return false的区别
1.event.stopPropagation()方法 这是阻止事件的冒泡方法,不让事件向documen上蔓延,但是默认事件任然会执行,当你掉用这个方法的时候,如果点击一个连接,这个连接仍然会被打开, ...
- C/C++掌握技能(三)
#include<cstdio> ][]={ //平年和闰年的每个月的天数 {,},{,},{,},{,},{,},{,},{,}, {,},{,},{,},{,},{,},{,} }; ...
- mysql查询语句分析 explain/desc用法
explain或desc显示了mysql如何使用索引来处理select语句以及连接表.可以帮助选择更好的索引和写出更优化的查询语句. explain 数据表 或 desc 数据表 显示数据表各字段含义 ...
- python项目实现配置统一管理的方法
一个比较大的项目总是会涉及到很多的参数,最好的方法就是在一个地方统一管理这些参数.最近看了不少的python项目,总结了两种很有意思的配置管理方法. 第一种 基于easydict实现的配置管理 首先需 ...
- docker 下安装mssql-server-linux
docker search mssql 查找mssql镜像 docker pull microsoft/mssql-server-linux 拉去mssql镜像 docker images 查看镜像 ...