如何删除UIImageView的黑色边缘与圆角和边框宽度?

我有以下代码,使UIImageView在我的每个UITableView的单元格都有圆角:

- (void)awakeFromNib
{
    // Rounded corners.
    [[cellImage layer] setCornerRadius:([cellImage frame].size.height / 2)];
    [[cellImage layer] setMasksToBounds:YES];
    [[cellImage layer] setBorderColor:[[UIColor whiteColor] CGColor]];
    [[cellImage layer] setBorderWidth:3]; // Trouble!
}

我希望图像之间有一点差距,并认为我可以利用边框宽度来实现这一点。 以下是实际发生的情况的图像:

呈现错误渲染圆角的用户列表

这是我想知道如何摆脱的那个微弱的黑色边框。 我想认为有一种使用边框宽度的方法。 如果不是,最好的方法可能只是调整图像本身的大小,并将边框宽度设置为0。


您可以为蒙版创建贝塞尔路径,为该路径创建形状图层,然后为图像视图的图层蒙版指定该形状图层,而不是使用圆角半径。

CGFloat margin = 3.0;
CGRect rect = CGRectInset(imageView.bounds, margin, margin);
UIBezierPath *path = [UIBezierPath bezierPathWithArcCenter:CGPointMake(imageView.bounds.size.width/2, imageView.bounds.size.height/2) radius:radius startAngle:0 endAngle:M_PI*2 clockwise:NO];
CAShapeLayer *mask = [CAShapeLayer layer];
mask.path = path.CGPath;
imageView.layer.mask = mask;

你正在做的是,你正在剪切轮廓图像和边框在一起,这使得细胞的轮廓图像通过边界延伸。

您错过了这一行: -

cellImage.clipsToBounds = YES;
链接地址: http://www.djcxy.com/p/85203.html

上一篇: How to remove black edge on UIImageView with rounded corners and a border width?

下一篇: Bootstrap multiple jumbotrons