【问题标题】:CornerRadius is not Displayed不显示角半径
【发布时间】:2021-04-25 11:44:05
【问题描述】:

我已将圆角半径设置为 10。但图像视图未显示圆角半径。

    lazy var imageView: UIImageView = {
        let imageView = UIImageView()
        imageView.translatesAutoresizingMaskIntoConstraints = false
        imageView.image = UIImage(named: "sample_image")
        imageView.layer.cornerRadius = 20/2
        imageView.contentMode = .scaleToFill
        imageView.clipsToBounds = true
        return imageView

    }()

我也尝试过使用 imageView.layer.masksToBounds = true,但它也不起作用。

当我如下在图像视图上使用背景颜色时,它完美地显示了带有圆角的视图。

    lazy var imageView: UIImageView = {
        let imageView = UIImageView()
        imageView.translatesAutoresizingMaskIntoConstraints = false
        imageView.backgroundColor = UIColor.init(hexString: "#000000")
        imageView.layer.cornerRadius = 20/2
        imageView.contentMode = .scaleToFill
        imageView.clipsToBounds = true
        return imageView

    }()

我还尝试更改图像的图像、宽度和高度,以检查图像是否太大而无法查看。但它也不起作用。

这就是我调用 imageView 的方式。

       view.addSubview(imageView)

        self.imageView.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true

        self.imageView.topAnchor.constraint(equalTo: view.topAnchor, constant: imageViewTopMargin).isActive = true

        self.imageView.widthAnchor.constraint(equalToConstant: imageViewWidth).isActive = true

        self.imageView.heightAnchor.constraint(equalToConstant: imageViewHeight).isActive = true

【问题讨论】:

  • 你检查了视图调试器吗?
  • 我已经测试了您的代码,并且运行良好!检查调试层次结构,尝试不同的图像,这一定可以正常工作。
  • 对我来说也很好用:screenshot

标签: ios swift uiimageview cornerradius


【解决方案1】:

您需要将 UIImageView 的contentMode 更改为 center 并将 clipToBound 更改为 true。

【讨论】:

    【解决方案2】:
    imageView.layer.masksToBounds = true
    

    【讨论】:

    • 不应该clipsToBounds有同样的效果吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 2020-06-26
    • 1970-01-01
    • 1970-01-01
    • 2015-06-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多