设置控件单个或某几个角为圆角的实现
2015-01-22 09:19
246 查看
-(void)changeButtonStyle:(UIButton*)button style:(NSInteger)style{
UIRectCorner corners;
switch (style) {
case 0:
corners = UIRectCornerBottomLeft | UIRectCornerTopLeft;
break;
case 1:
corners = UIRectCornerTopRight | UIRectCornerBottomRight;
break;
default:
corners = UIRectCornerAllCorners;
break;
}
UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:button.bounds
byRoundingCorners:corners
cornerRadii:CGSizeMake(5.0, 5.0)];
CAShapeLayer *maskLayer = [CAShapeLayer layer];
maskLayer.frame = button.bounds;
maskLayer.path = maskPath.CGPath;
button.layer.mask = maskLayer;
}
不仅仅是button,所有的view都可以进行类似设置。
UIRectCornerTopLeft、 UIRectCornerBottomLeft、UIRectCornerTopRight、UIRectCornerBottomRight分别对应左上、左下、右上、右下,根据实际需要,进行或运算,生成所需的UIRectCorner。
UIRectCorner corners;
switch (style) {
case 0:
corners = UIRectCornerBottomLeft | UIRectCornerTopLeft;
break;
case 1:
corners = UIRectCornerTopRight | UIRectCornerBottomRight;
break;
default:
corners = UIRectCornerAllCorners;
break;
}
UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:button.bounds
byRoundingCorners:corners
cornerRadii:CGSizeMake(5.0, 5.0)];
CAShapeLayer *maskLayer = [CAShapeLayer layer];
maskLayer.frame = button.bounds;
maskLayer.path = maskPath.CGPath;
button.layer.mask = maskLayer;
}
不仅仅是button,所有的view都可以进行类似设置。
UIRectCornerTopLeft、 UIRectCornerBottomLeft、UIRectCornerTopRight、UIRectCornerBottomRight分别对应左上、左下、右上、右下,根据实际需要,进行或运算,生成所需的UIRectCorner。
相关文章推荐
- textview中特定位置几个字设置其效果以及定时器(多长时间后执行什么操作)和控件设圆角 圆边线
- android ImageView 圆角控件 设置上下左右某几个为圆角
- .NET实现单个或几个Session过期时间设置简单方案
- (android控件)ListView的Item中设置按钮实现
- CSS实现圆角的几个实例。
- ListCtrl设置单个单元格颜色的实现
- 用WPF和WinForms实现的几个控件,带Tick的ProgressBar和TrackBar。
- VC++ 设置控件字体,实现不同控件不同字体!
- MFC单个控件实现文件拖拽功能
- (iPad/iPhone)给各种控件设置边框或圆角
- 解决WinForm中ComboBox控件的“设置"DataSourse”属性后无法修改项集合”以及两个不相关联的ComboxBox控件实现数据列表显示不可实现的问题
- 动态添加UIButton控件,通过设置tag值实现点击不同的UIButton控件做出不同的反应
- C#GUI编程学习之选择类控件篇1--利用选择控件实现权限设置
- 图形的绘制,如何使用自定义画笔(颜色,线宽,线形)。如何为程序中添加选项菜单和选项设置对话框,如何使用标准颜色对话框,如何使用字体对话框,在选项对话框中实现预览功能。实现选项对话框和窗口类中的数据交换。如何改变对话框和控件的背景色,如何改变控件的文本颜色,
- c#动态设置combobox控件下拉项宽度以实现下拉项文字可以完全显示。
- 通过设置UIView得layer实现圆角矩形
- 基于单个对话框工程中,CListBox控件上实现 选择/复制功能(不要写CListBox的派生类)
- 如何用控件的CALayer 的特性创建 圆角界面,边框,和设置背景
- (android控件)ListView的Item中设置按钮实现
- 通过设置UIView得layer实现圆角矩形