CALayer--设置UIView圆角,裁剪子视图,快速圆形UIView
来源:互联网 发布:淘宝可以追加几次评论 编辑:程序博客网 时间:2024/06/02 19:41
在iOS中,你能看得见摸得着的东西基本上都是UIView,比如一个按钮、一个文本标签、一个文本输入框、一个图标等等,这些都是UIView。
其实UIView之所以能显示在屏幕上,完全是因为它内部的一个图层,在创建UIView对象时,UIView内部会自动创建一个图层(即CALayer对象),通过UIView的layer属性可以访问这个层
@property(nonatomic,readonly,retain) CALayer *layer;
当UIView需要显示到屏幕上时,会调用drawRect:方法进行绘图,并且会将所有内容绘制在自己的图层上,绘图完毕后,系统会将图层拷贝到屏幕上,于是就完成了UIView的显示
换句话说,UIView本身不具备显示的功能,拥有显示功能的是它内部的图层。
二、简单使用
UIView之所以能够显示,完全是因为内部的CALayer对象。因此,通过操作这个CALayer对象,可以很方便地调整UIView的一些界面属性,比如:阴影、圆角大小、边框宽度和颜色等。
通过layer设置边框为圆角
//设置圆角
self.iconView.layer.cornerRadius=12;
//设置超过子图层的部分裁减掉/**
有两种方法,一种是UIKit下使用的方法,另一种是CALayer下使用的方法
*/
self.iconView.layer.masksToBounds=YES;
//UI框架中使用的方法//裁剪,子视图超出部分不显示
// self.iconView.clipsToBounds=YES;
UIButton * button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
button.frame = CGRectMake(20.f, 40.f, 120.f, 120.f);
button.layer.cornerRadius = 60;
button.layer.masksToBounds = YES;
button.layer.borderWidth = 1.0;
button.layer.borderColor = [UIColor blueColor].CGColor;
[button setTitle:@"圆按钮" forState:UIControlStateNormal];
[self.view addSubview:button];
想要实现圆形,需要将layer的cornerRadius(角半径)的大小设置为button宽高的一半。
当然,你一定要将button的width和height设置为等值。
- CALayer--设置UIView圆角,裁剪子视图,快速圆形UIView
- UIView管理子视图
- UIView中插入子视图
- UIView子视图Center中心点
- iOS设置圆形(圆角)UIView、UIButton的简单方法
- UIView 父视图、子视图问题
- 视图UIView
- UIView视图
- iphone ios uiwindow uiview CALayer 窗口 视图关系 区别
- CALayer与UIView
- UIView与CALayer
- UIView与CAlayer
- CALayer与UIView
- UIView, CALayer,Core Animation
- UIView与CAlayer
- UIView与CAlayer
- UIView和CALayer
- UIView 和 CALayer
- AV Foundation - 录制音频
- html中select只读显示
- Jieba分词包(三)——基于词频最大切分组合
- Mac - 删除Launchpad空白文件夹
- MongoDB入门篇--启动mongodb
- CALayer--设置UIView圆角,裁剪子视图,快速圆形UIView
- vim命令图解
- 白话经典算法系列之四 直接选择排序及交换二个数据的正确实现
- mqtt推送实践
- Android源码分析—带你认识不一样的AsyncTask
- IOS 学习之 —— @property详解
- C#根据窗体大小改变控件大小
- locale 详解
- WebView的初用