当样式类制作圆形图像时,图像消失

编程入门 行业动态 更新时间:2024-10-26 09:18:59
本文介绍了当样式类制作圆形图像时,图像消失的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

限时送ChatGPT账号..
class RoundImage: UIImageView {

    override func awakeFromNib() {
        super.awakeFromNib()
        setupView()
    }

     ...

    func setupView() {
        self.layer.borderWidth = borderWidth
        self.layer.borderColor = borderColor
        self.clipsToBounds = clip
        self.layer.cornerRadius = self.frame.size.width / 2
    }


    override func prepareForInterfaceBuilder() {
        super.prepareForInterfaceBuilder()
        setupView()
    }

}

我正在使用以下类来设计我的 UIImageViews.我想让它们循环.当我添加以下代码行 self.layer.cornerRadius = self.frame.size.width/2 使这成为可能时,我的整个图像消失了.当我使用像 50 这样的硬编码值(因为我的图像的宽度是 100)时,它可以工作.但是当我想以这种方式使其动态时,它似乎失败了.

I am using the following class to style my UIImageViews. I want to make them circular. When I add the following line of code self.layer.cornerRadius = self.frame.size.width / 2 to make this possible, my entire image disappears. When I use a hardcoded value like 50 (since the width of my image is 100) it works. But when I want to make it dynamic this way, it seems to fail.

我在这里遗漏了什么?

推荐答案

几天前我遇到了这个问题.您应该在图层修改之前添加 layoutIfNeeded().

I faced with this problem a few days ago. You should add layoutIfNeeded() before layer modifications.

就你而言:

func setupView() {
        self.layoutIfNeeded()
        self.layer.borderWidth = borderWidth
        self.layer.borderColor = borderColor
        self.clipsToBounds = clip
        self.layer.cornerRadius = self.frame.size.width / 2
 }

这篇关于当样式类制作圆形图像时,图像消失的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

更多推荐

[db:关键词]

本文发布于:2023-04-29 04:16:50,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1183993.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:图像   圆形   样式

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!