CALayer 新建
- (void)viewDidLoad
{
[super viewDidLoad];
// 如果一个控制是另外一个控件的子控件, 那么这个控件中的layer也是另外一个控件的子layer
// NSLog(@"star - %@", self.view.layer.sublayers);
CALayer *layer = [CALayer layer];
layer.backgroundColor = [UIColor redColor].CGColor;
layer.bounds = CGRectMake(0, 0, 100, 100);
// layer.position = CGPointMake(200, 200);
// layer.contents = (id)[UIImage imageNamed:@"me"].CGImage;
[self.view.layer addSublayer:layer];
}
- (void)test
{
NSLog(@"star - %@", self.view.layer.sublayers);
// 1.创建layer
// CALayer *layer = [[CALayer alloc] init];
CALayer *layer = [CALayer layer];
layer.backgroundColor = [UIColor redColor].CGColor;
layer.bounds = CGRectMake(0, 0, 100, 100);
layer.position = CGPointMake(200, 200);
layer.borderWidth = 10;
layer.cornerRadius = 10;
// 将layer添加在界面上
[self.view.layer addSublayer:layer];
// NSLog(@"%@", layer.superlayer); // 获取layer的父视图
NSLog(@"end - %@", self.view.layer.sublayers);
//
// UIView *view = [[UIView alloc] init];
// view.superview;
// view.subviews;
// [self.view addSubview:view];
}
- (void)viewDidLoad {
[super viewDidLoad];
// 设置layer边框
self.imageView.layer.borderWidth = 10;
// 设置边框的颜色
self.imageView.layer.borderColor = [UIColor redColor].CGColor;//注意borderColor的类型
// 设置layer的圆角(设置主图层的圆角)
self.imageView.layer.cornerRadius = 10;
// 设置超出主图层的部分进行剪切操作
// self.imageView.layer.masksToBounds = YES;
// self.imageView.clipsToBounds = YES;
// 设置的image不是展示在主图层上的,是展示在子图层上的
self.imageView.layer.contents = (id)[UIImage imageNamed:@"LoginScreen"].CGImage;
// 设置阴影的颜色
self.imageView.layer.shadowColor = [UIColor blackColor].CGColor;
// 设置阴影的偏移位
// 如果是正数,代表向右移动
// 上
self.imageView.layer.shadowOffset = CGSizeMake(10, 10);
// 设置阴影的透明度0~1 1 完全不透明 0 完全透明
self.imageView.layer.shadowOpacity =1;
}
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
// self.imageView.transform = CGAffineTransformMakeTranslation(0, 100);
// self.imageView.layer.transform = CATransform3DMakeTranslation(0, 100, 0);
// NSValue *v = [NSValue valueWithCATransform3D:CATransform3DMakeTranslation(0, -200, 0)];
// [self.imageView.layer setValue:v forKey:@"transform"];
// [self.imageView.layer setValue:@(100) forKey:@"transform.translation.x"];
// self.imageView.transform = CGAffineTransformMakeRotationxx(M_PI_4);
// self.imageView.layer.transform = CATransform3DMakeRotation(M_PI_4, 0, 0, 1);
[self.imageView.layer setValue:@"100" forKey:@"transform.translation.x"];
}
转载于:https://www.cnblogs.com/LennyKwok/p/4339606.html
CALayer 新建相关推荐
- iOS开发UI篇—CALayer简介
iOS开发UI篇-CALayer简介 一.简单介绍 在iOS中,你能看得见摸得着的东西基本上都是UIView,比如一个按钮.一个文本标签.一个文本输入框.一个图标等等,这些都是UIView. 其实UI ...
- iOS开发之CALayer
1.概述 在iOS中,你能看得见摸得着的东西基本上都是UIView,比如一个按钮.一个文本标签.一个文本输入框.一个图标等等,这些都是UIView,其实UIView之所以能显示在屏幕上,完全是因为它内 ...
- drawRect与CALayer
setNeedsDisplay会调用(drawRect)方便绘图和setNeedsLayout会调用(layoutSubViews)方便出来数据 UIView的setNeedsDisplay和setN ...
- UI一揽子计划 23 (动画的使用场景、UIView动画、CGAffineTransform2D仿射变换、CALayer、CAAnimation、)
在iOS 中的动画是指一些视图上的过渡效果,合理利用动画能提高用户体验. 一. UIView动画 1). UIView动画块的使用 ([UIView beginAnimations: nil cont ...
- 使用idea新建maven工程的web项目的步骤
1 新建maven项目,配置好目录结构 2 配置tomcat 先打开项目配置 配置访问目录 3 再配置tomcat,配置热更新,首页访问路径 配置tomcat 最后选择首页访问路径(注意:这部不配置的 ...
- 使用最新版(2020)IntelliJ IDEA 新建 Spring Boot 2.0 项目
使用最新版(2020)IntelliJ IDEA 新建 Spring Boot 2.0 项目 一:创建项目,并添加相应依赖 新建Project,并指定Project为Spring Initializr ...
- 【Vue】新建一个Vue3项目
目录 1.新建vue项目 2.路径更改至新建的vue项目处 3.安装cnpm 4.cnpm安装vant3 5.安装babel-plugin 6.安装vue路由 7.安装axios 其他注意事项 仅用于 ...
- MySQL新建数据库+用Navicat查看MySQL的方法
MySQL新建数据库 数据库启动有问题的,见本人另外一篇博客:启动MySQL:net start mysql出现问题+本地Mysql忘记密码的修改方法 目前的用户名和密码都是root(因为好记!) 打 ...
- AndroidStudio 新建不同的Drawable文件夹
以前习惯eclipse开发Android的朋友们知道 新创建一个Android项目的时候eclipse会自动生成多个drawable文件夹来存放图片 但是Android Studio 新建项目的时候只 ...
- 管理员技术(六): 硬盘分区及格式化、 新建一个逻辑卷、调整现有磁盘的分区、扩展逻辑卷的大小、添加一个swap分区...
一.硬盘分区及格式化 问题: 本例要求熟悉硬盘分区结构,使用fdisk分区工具在磁盘 /dev/vdb 上按以下要求建立分区: 1> 采用默认的 msdos 分区模式 2> ...
最新文章
- Keras框架下的保存模型和加载模型
- 如何取消linux响铃_linux初学者入门:VIM编辑简易指南(常用操作)
- 怎样向IT行业的朋友说明《圣经》的重要性
- MySQL bin-log 日志清理方式
- HTTP和HTTPS总结
- mysql查询今天_昨天_7天_近30天_本月_上一月 数据_mysql查询今天、昨天、7天、近30天、本月、上一月 数据...
- 分子动力学模拟软件_机器学习模拟1亿原子:中美团队获2020「超算诺贝尔奖」戈登贝尔奖...
- 两年盗取 1000 万美元的 Xbox 礼品卡,这个人竟然是“内鬼”!
- 计算机系统配置有几方面要求,台式电脑安装win10系统配置要求有哪些
- LayoutInflater原理分析
- Python爬取京东图书销量榜
- 测试模板:Showcase规范和流程
- 使用easywechat调用微信支付
- 11个值得珍藏的4K高清壁纸网站推荐
- 刷脸支付在流量金贵时代把控千万用户
- POJ(8463)-----Stupid cat Doge(openjudge)
- 在 IIS 上构建静态网站
- 如何压缩PDF文件?教你两种压缩文件的方法
- devexpress gridview代码设置
- 【已解决】如何做excel表的下拉框多选
热门文章
- 编译OpenJDK8:configure error /usr/lib64/ccache/gcc is a symbolic link to ccache
- 包装应由厂家回收利用
- angular发布代码有缓存_[译文]RxJS缓存进阶
- c语言开发调试环境搭建_Linux搭建C++开发调试环境
- oracle 日志解析工具,Oracle logminer 日志分析工具使用
- Bootstrap相关优质项目推荐
- Netty 长连接服务
- 杭电2098--分拆素数和
- CSS 相邻选择器(七)
- 使用MEMCACHED的思考