首页 > 代码库 > mask层--- ios开发view圆角属性的layer层的实质
mask层--- ios开发view圆角属性的layer层的实质
今天突然领悟了之前学习的一些基础的UI属性
就是在我们设置view的圆角的时候
比方说下面的代码
UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(10, 10, 60, 60)]; button.layer.masksToBounds = YES; button.layer.cornerRadius = 30;
这里给button设置圆角属性
以前一直这么写 知道layer是view的绘制的一层 一直这么用
今天突然领悟为什么要写masktobounds这个属性设为YES了
那么,首先说下layer 每个继承view的控件都有一个layer层 通俗点说layer层其实就是view的一个遮罩 所有的绘制都是通过layer 相当于一副画的颜料 而view则是画布 用于展示layer的容器或者说是视图
然后今天了解到mask这个东东 原来 我们可以设置mask层来进行对layer层的遮盖 这貌似有点抽象
就是mask层 当为透明的时候 layer层就正常显示绘制的样式
当mask层不是透明的时候放到layer的上方 这时候mask层的是什么形状 layer层就会显示什么形状的layer涂层内容
其实也可以理解为mask相当于剪裁 或者是镜头形状等
通过不透明的mask来去掉多余出mask区域的下方的layer
所以这时候 比方说上面的button 设置为masktobounds==yes 我理解为设置了mask层并且给了自身的范围
然后通过这个mask层来过滤了layer层的多余部分
通过设置了layer的属性 设置圆角的方法 将多余部分剪切掉 所以这时候就获得了一个圆形的button视图 其实就是layer绘制为圆形通过mask的剪切过滤。。。
以上是本人自己的对于这里的心得总结 如有见解意见欢迎指正交流
mask层--- ios开发view圆角属性的layer层的实质
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。