【iOS开发-图层】图层的获取与一些属性

【iOS开发-图层】图层的获取与一些属性

大家好,又见面了,我是全栈君。

图层

每个控件都有自己的一个图层,这个空间的全部东西就是显示在这个图层上面的,控件本身没有显示东西的功能,仅仅有拥有了图层才干显示东西

图层的获取

CALayer *layer = self.testView.layer;

使用UIView的图层为例

UIView本身仅仅有一个图层,主图层

self.testView.layer.borderWidth = 10;//设置边框大小
    self.testView.layer.borderColor = [UIColor blueColor].CGColor;//设置边框颜色
    self.testView.layer.cornerRadius = 10;//设置view的圆角
    self.testView.layer.shadowOffset = CGSizeMake(10, 10);//设置阴影。默认黑色透明。后面是阴影偏差(阴影会向哪个方向偏)右下角全正数
    self.testView.layer.shadowColor = [UIColor blackColor].CGColor;//给阴影设置颜色
    self.testView.layer.shadowOpacity = 0.5;//设置透明度

 self.testView.layer.masksToBounds = YES;//设置超出主层的东西会被剪掉。阴影不显示也是这个原因

UIImageView为例圆角实现

UIImageView控件不止一个图层。图片的显示不是在主层中,所以更改主层的边角为原型。并不能改变图片显示层的边角

 self.imageView.layer.borderWidth = 10;//设置边框宽度大小
 self.imageView.layer.borderColor = [UIColor blueColor].CGColor;//设置边框颜色

//设置图层圆角。由于UIImageView有两个图层,图片显示在复层上面,
//所以仅仅设置这一个属性不会变为圆角
//要把 masksToBounds属性设置为YES
self.imageView.layer.cornerRadius = 10;
self.imageView.layer.masksToBounds = YES;//超出主层的内容都会被减掉

关于layer层的旋转,平移,缩放

layer的仅仅能使用3D旋转,平移,缩放

self.imageView.layer.transform = CATransform3DMakeRotation(M_PI_4, 1, 0.5, 0);//layer层的旋转,使用3D

//控制缩放    使用KVC
NSValue *value = [NSValue valueWithCATransform3D:CATransform3DMakeRotation(M_PI_4, 0, 0, 1)];
[self.imageView.layer setValue:value forKeyPath:@"transform"];

//等于上面的两句话  使用KVC
[self.imageView.layer setValue:@(M_PI_2) forKeyPath:@"transform.rotation"];

//控件本身的缩放和旋转
self.imageView.transform = CGAffineTransformMakeRotation(M_PI_4);
self.imageView.transform = CGAffineTransformMakeScale(1.5, 1.5);

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115359.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python读取图像数据的一些方法[通俗易懂]

    python读取图像数据的一些方法[通俗易懂]工作和学习中设计一个神经网络中经常需要设计一个数据载入器。首先第一件事我们要根据我们的任务要求确定一个数据提供的方法。如我们是一个分类任务,我们就需要读取数据和数据本身对应的标签。12除了分类任务之外当然还有一些图像到图像的任务,如…

    2025年10月30日
    3
  • Ubuntu 下安装金山词霸替代软件

    Ubuntu 下安装金山词霸替代软件

    2021年4月27日
    163
  • Springboot上传excel并将表格数据导入或更新mySql数据库[通俗易懂]

    Springboot上传excel并将表格数据导入或更新mySql数据库[通俗易懂]本文主要描述,Springboot-mybatis框架下上传excel,并将之导入mysql数据库的过程,如果用户id已存在,则进行更新修改数据库中该项信息,由于用到的是前后端分离技术,这里记录的主要是后端java部分,通过与前端接口进行对接实现功能1.在pom.xml文件中导入注解,主要利用POI<dependency><groupId>org.a…

    2022年6月28日
    28
  • 《经济学人》深度报道:DeepMind和谷歌的AI拉锯战

    《经济学人》深度报道:DeepMind和谷歌的AI拉锯战

    2021年7月3日
    194
  • matlab误差条形图_excel柱状图添加标准误差线

    matlab误差条形图_excel柱状图添加标准误差线为准确快速评定线轮廓度误差,提出了一种基于分割逼近法与MATLAB相结合的用于计算平面线轮廓度误差的新方法,该方法符合最小条件原理;它根据平面线轮廓度误差的定义……细想一下,只做误差分析和数据处理好像内容过于单调。加之,要是做一个完完全全依赖于Matlab的程序,这样也不太好用。如果将这个程序放在一个独立的界面上……和模型参数和计算参数参数和计算参数误差用matla…

    2022年10月19日
    3
  • C# Thread IsBackground作用

    C# Thread IsBackground作用背景之前在做一个定时下载任务的时候,使用的是一个主线程在执行任务;后面需求调整了,需要在启用一个子线程执行优先级更高的单独通道下载。于是下意识的这么做newThread//创建后台线程ThreadbThread=newThread(newThreadStart(background1.RunLoop));b…

    2022年10月16日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号