OGeek|极客世界-中国程序员成长平台

标题: ios - UIImageView 的图层边框可见插图 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 14:18
标题: ios - UIImageView 的图层边框可见插图

刚刚这样做:

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

我该如何解决?



Best Answer-推荐答案


我在使用图层上的边框属性时遇到了类似的问题,并设法通过在顶部添加 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)

希望它也适用于您的情况

关于ios - UIImageView 的图层边框可见插图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28434313/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4