UIImageView的图层边框可见插图

时间:2015-02-10 14:35:46

标签: ios uiimageview calayer

刚做完:

self.imageView.backgroundColor = color1;
self.imageView.layer.masksToBounds = YES;
self.imageView.layer.borderColor = color1;
self.imageView.layer.borderWidth = 3.0;

以下是问题的屏幕截图:

Screenshot of a problem

我可以看到边界外的图像,边框和图像碎片...

enter image description here enter image description here

我该如何解决?

2 个答案:

答案 0 :(得分:2)

我在图层上使用边框属性时遇到了类似的问题,并设法通过在顶部添加CAShapeLayer来解决它。
我不能告诉你它如何在旧设备上表现,因为没有用很多动画测试它等等,但我真的怀疑它会减慢它们的速度。

以下是Swift中的一些代码:

    imageView.backgroundColor = UIColor(red: 0.1137, green: 0.2745, blue: 0.4627, alpha: 1.0)
    imageView.layer.masksToBounds = true
    imageView.layer.cornerRadius = imageView.bounds.height / 2.0

    let stroke:CAShapeLayer = CAShapeLayer()
    let rect = imageView.bounds
    let strokePath = UIBezierPath(roundedRect: rect, cornerRadius: imageView.bounds.height / 2.0)

    stroke.path = strokePath.CGPath
    stroke.fillColor = nil
    stroke.lineWidth = 3.0
    stroke.strokeColor = UIColor(red: 0.1137, green: 0.2745, blue: 0.4627, alpha: 1.0).CGColor

    stroke.frame = imageView.bounds
    imageView.layer.insertSublayer(stroke, atIndex: 1)

希望它也适用于您的情况

答案 1 :(得分:0)

尝试:

self.imageView.layer.shouldRasterize = TRUE;