注册 登录
主题 : imageview设置圆角后,又设置border边框后,出现不明线条
级别: 骑士

状态: 连续签到 - [4天]
UID: 212244
精华: 0
发帖: 294
可可豆: 768 CB
威望: 681 点
在线时间: 497(时)
注册时间: 2013-03-09
最后登录: 2019-05-18
0 楼:  发表于: 2019-05-08 12:04    发自: Web Page
来源于 显示问题 分类

imageview设置圆角后,又设置border边框后,出现不明线条   

imageview添加图片,设置圆角与边框,代码如下,但是四个角出现不明线条,有人知道是什么原因吗?

 imgView.layer.cornerRadius = 12;
 imgView.layer.masksToBounds = YES;
 imgView.layer.borderWidth = 2;
 imgView.layer.borderColor = [UIColor whiteColor].CGColor;

图片:1557288051662.jpg
级别: 骑士

状态: 连续签到 - [96天]
UID: 495897
精华: 1
发帖: 388
可可豆: 1321 CB
威望: 1118 点
在线时间: 980(时)
注册时间: 2015-08-08
最后登录: 2019-05-20
1 楼:  发表于: 2019-05-08 15:21    发自: Web Page
用 UIBezierPath 的这个类方法去设置圆角 + (instancetype)bezierPathWithRoundedRect:(CGRect)rect byRoundingCorners:(UIRectCorner)corners cornerRadii:(CGSize)cornerRadii;
然后将其CGPath设置为CAShapeLayer对象设置path,效果会比直接用cornerRadius去设置好,而且不会造成离屏渲染影响性能.也不会出现那个阴影;

然后就是设置边框了,因为你设置了mask 所以直接用border是不能实现那个效果的,你再初始化一个CAShapeLayer 将之间的path赋值给它.设置边框宽的,边框颜色,设置填充色为透明就可以了
在添加到iamgeView的layer上.

UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:_imageView.bounds   byRoundingCorners:UIRectCornerAllCorners cornerRadii:CGSizeMake(12, 0)];
    CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
    maskLayer.frame = _imageView.bounds;
    maskLayer.path = maskPath.CGPath;
    _imageView.layer.mask = maskLayer;

    CAShapeLayer *shape = [CAShapeLayer layer];
    shape.path          = maskLayer.path;
    shape.strokeColor = [UIColor greenColor].CGColor;
    shape.fillColor = [UIColor clearColor].CGColor;
    shape.lineWidth = 2;
    [_imageView.layer addSublayer:shape];
级别: 新手上路
UID: 566131
精华: 0
发帖: 68
可可豆: 122 CB
威望: 122 点
在线时间: 944(时)
注册时间: 2016-05-31
最后登录: 2019-05-17
2 楼:  发表于: 2019-05-15 09:32    发自: Web Page
imgView.clipsToBounds = YES 试试
级别: 骑士

状态: 连续签到 - [4天]
UID: 212244
精华: 0
发帖: 294
可可豆: 768 CB
威望: 681 点
在线时间: 497(时)
注册时间: 2013-03-09
最后登录: 2019-05-18
3 楼:  发表于: 2019-05-18 16:51    发自: Web Page
回 2楼(lzj_ios_coder) 的帖子
这个不行,也会出现
级别: 骑士

状态: 连续签到 - [4天]
UID: 212244
精华: 0
发帖: 294
可可豆: 768 CB
威望: 681 点
在线时间: 497(时)
注册时间: 2013-03-09
最后登录: 2019-05-18
4 楼:  发表于: 2019-05-18 16:52    发自: Web Page
回 1楼(秋风后的枫叶) 的帖子
谢谢,请问知道四个角为什么会出现这种现象吗,
级别: 侠客
状态: 连续签到 - [143天]
UID: 578505
精华: 0
发帖: 186
可可豆: 949 CB
威望: 666 点
在线时间: 379(时)
注册时间: 2016-08-18
最后登录: 2019-05-20
5 楼:  发表于: 2019-05-20 11:53    发自: Web Page
有背景色,只设置圆角就好了
新手上路

CocoaChina社区转载内容已尽可能注明出处,如未能核实来源或转发内容图片有权利瑕疵的,请及时联系社区进行修改或删除【联系方式QQ : 3442093904 邮箱:support@cocoachina.com】文章内容为作者独立观点,不代表CocoaChina社区立场。版权归原作者所有,如申请授权请联系作者,因文章侵权CocoaChina社区不承担任何法律及连带责任。

描述
快速回复

关注本帖(如果有新回复会站内信通知您)

发帖、回帖都会得到可观的积分奖励。查看论坛积分规则

按"Ctrl+Enter"直接提交
    顶部