iOS 部分圆角的正确实现

  • 先看效果:


    部分圆角.gif

由于项目需求,需要实现部分圆角,开始没想那么多,直接在GitHub上找了一个SKArchCutter,圆角效果是能出来的,但是我发现我btn的背景颜色存在问题,这下就只有自己再研究下了。

  • 实现代码:
/**
 按钮的圆角设置

 @param view view类控件
 @param rectCorner UIRectCorner要切除的圆角
 @param borderColor 边框颜色
 @param borderWidth 边框宽度
 @param viewColor view类控件颜色
 */
- (void)setupRoundedCornersWithView:(UIView *)view cutCorners:(UIRectCorner)rectCorner borderColor:(UIColor *)borderColor borderWidth:(CGFloat)borderWidth viewColor:(UIColor *)viewColor{

    CAShapeLayer *mask=[CAShapeLayer layer];
    UIBezierPath * path= [UIBezierPath bezierPathWithRoundedRect:view.bounds byRoundingCorners:rectCorner cornerRadii:CGSizeMake(15,10)];
    mask.path=path.CGPath;
    mask.frame=view.bounds;


    CAShapeLayer *borderLayer=[CAShapeLayer layer];
    borderLayer.path=path.CGPath;
    borderLayer.fillColor = [UIColor clearColor].CGColor;
    borderLayer.strokeColor = borderColor.CGColor;
    borderLayer.lineWidth = borderWidth;
    borderLayer.frame = view.bounds;
    view.layer.mask = mask;
    [view.layer addSublayer:borderLayer];
    
    
}
  • 至于怎么使用,相信大家一看也就明白了,传参数上比较重要的就是rectCorner了,他是UIRectCorner的枚举,跟进去看一下就明白怎么回事了。写得比较片面,有更好的方法也请指正。
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,054评论 3 119
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,267评论 25 709
  • 原来我要的,只是一片开阔的地方,安放得下我。 坐在凉凉的大理石凳上,临着一片说大不大,说小也不小的湖,阳光...
    苏城杪夏阅读 1,774评论 0 1
  • 咏茄 (宋)郑清之青紫皮肤类宰官,光圆头脑作僧看。如何缁俗偏同嗜?入口元来总一般。 打开百度,还真找到了一首写茄子...
    木虞煲娱汤阅读 3,933评论 5 4
  • 最近看了风云的漫画。有几点感触。 以前只看过风云的电视剧,你看的作品要和你现在的品位相适合。 在你童年看来很多经典...
    杨昊霖我能为你做什么阅读 5,255评论 0 0

友情链接更多精彩内容