【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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 为什么香港服务器可以免备案

    为什么香港服务器可以免备案呢?这可能是许多朋友都回答不上来的话题,即使是经常使用香港服务器的用户也有部分人不清楚,那么今天我们就聊聊为什么香港服务器可以免备案:众所周知,我们国家实行的一国两制,所以香港地区在管理制度方面会和我们国内的不太一样,不仅是管理制度,包括法律,互联网使用规则也不一样。在国内,根据我国的互联网规定,网站所有者必须向国家有关部门申请实名备案,甚至部分网站还需要完成公安部备案,才能正常使用域名访问网站,且国内为净化互联网,也对许多内容进行限制;而香港则没有必须申请备案的要求,只要网站

    2022年4月8日
    70
  • 使用 tar 压缩和解压缩的常用参数

    使用 tar 压缩和解压缩的常用参数tar常用参数:-A新增文件到已压缩文件中-c新建新压缩文件-r将新文件添加到已压缩文件的末尾-x解压缩文件-k保留原压缩文件-f待压缩或待解压缩文件-jbzip2格式-zgzip格式-v显示过程 常用解压缩:tar-xzvffile.gztar-xjvffile.bz2常用压缩:tar-czvfarchi…

    2022年5月25日
    42
  • elasticsearch(es)的安装-macOs

    elasticsearch(es)的安装-macOs前提:已经安装过jdk1.8java-version#查看jdk版本1.es的安装和访问es安装brewinstallelasticsearch#安装brewinfoelasticsearch#查看es信息brewservicesstartelasticsearch#启动浏览器输入:localhost:9200查看es2.kibana的安装和访问kibana可以通过可视化的界面操作访问eskibana安装brewinstallkiban

    2022年6月22日
    37
  • 深入koa2源码

    深入koa2源码

    2021年6月19日
    113
  • 公众号发送模板消息

    公众号发送模板消息场景:当用户在公众号中发起了一笔支付,后台给用户发送一个消息。微信配置:用的个人公众号测试,访问地址https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login&token=1212530455&lang=zh_CN(1)配置域名:(2)配置模板消息(3)修改网…

    2022年5月1日
    49
  • C++读写txt文件(基本操作1)

    C++读写txt文件(基本操作1)本博客主要写了用C++读写txt本文的基本操作,最简单的写入和读出两个基本操作。本程序的功能是向Test.txt文件文件写入字符串”ThisisaTest12!”和读取字符串”ThisisaTest12!”,并且将读取到的字符串存到temp变量(char型变量),且输出到控制台窗口进行显示。注意:1.1当创建ofstream对象后,可以像操作cout一样操作这个对象,…

    2022年5月5日
    303

发表回复

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

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