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


相关推荐

  • win10安装anaconda3、pycharm和pytorch教程

    win10安装anaconda3、pycharm和pytorch教程前言博主研究生生涯准备用大一的旧电脑刚两年,于是乎在虚拟机centos环境中安装python环境和pycharm工作时特别卡。于是想尝试在windows下安装anaconda和PyCharm,这样软件运行或许能流畅些。本文基于2019年发行的anaconda3版本和PyCharm对安装过程中的问题进行记录。anaconda的安装官网下载anaconda我下载的版本为:双击安装注意…

    2022年8月26日
    4
  • 在bash中export命令作用是什么_bash:no such file or directory

    在bash中export命令作用是什么_bash:no such file or directoryexport  export命令将会使得被export的变量在运行的脚本(或shell)的所有的子进程中都可用.  不幸的是,没有办法将变量export到父进程(就是调用这个脚本或shell的进程)中.  关于export命令的一个重要的使用就是用在启动文件中,启动文件是用来初始化并且设置环境变量,让用户进程可以存取环境变量脚本不能export(导出)变量到它的父进程(p

    2025年9月4日
    5
  • html空格代码&nbsp_html中的转义字符

    html空格代码&nbsp_html中的转义字符一般只要没有打错你那应该用了flex布局flex会影响一些语法而且也会导致空格符实习失效而且如果你设置了white-space:nowrap;overflow:hidden;text-overflow:ellipsis;会发现超出部分会隐藏但并不会出现省略号flex还是会影响一些基础样式的慎用…

    2022年10月5日
    2
  • Python数据类型有哪些?

    Python数据类型有哪些?数据类型是每种编程语言必备属性,只有给数据赋予明确的数据类型,计算机才能对数据进行处理运算,因此,正确使用数据类型是十分必要的,不同的语言,数据类型类似,但具体表示方法有所不同,以下是Python编程常用的数据类型:1.数字类型Python数字类型主要包括int(整型)、long(长整型)和float(浮点型),但是在Python3中就不再有long类型了。int(整型)在32位…

    2022年6月10日
    33
  • 网络电视测试软件,2018三款智能电视屏幕检测软件,当贝市场良心推荐「建议收藏」

    2018三款智能电视屏幕检测软件,当贝市场良心推荐2018年03月01日18:08作者:厂商投稿编辑:鸿雁分享买电视后,很多朋友会发现,虽然电视是从厂家那里发的最新的货,但还是有不同层次的瑕疵,但电视机的保修期有限,该怎么查出所有电视上存在的问题呢?小编这里就整合出了三个软件,可以查出电视坏点、漏光等问题,为大家造福。智能电视用户可以在当贝市场中安装以下软件检测。第一个:电视屏幕大师电视屏幕大师…

    2022年4月15日
    101
  • Canny算法解析,opencv源码实现及实例[通俗易懂]

    Canny算法解析,opencv源码实现及实例[通俗易懂]参考:http://baike.baidu.com/link?url=tkyXCTmiihKboar3IQ7yo-ECZK95tq2Bn02H1aKwGdt00xrbfD6Lezzjk5ArZF0lCnx8rOQiq4d7o24bUDN75_1392ZOUPYgdt3PZsmLrFShttp://blog.csdn.net/xiaowei_cqu/article/details/783

    2022年5月30日
    40

发表回复

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

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