UIImageview没有四舍五入

时间:2019-06-02 12:47:57

标签: ios swift uiimageview

我正在尝试创建圆形图像,并且已经实现了正确的代码,但是我不知道为什么下面的代码没有四舍五入是我的代码

string = 'abc$def$ghi'
char = '$'
print(string[:string.index(char)] + string[string.rindex(char) + 1:])
# abcghi

我的约束是

lazy var profileImage: UIImageView = {
       let image = UIImageView()
        image.translatesAutoresizingMaskIntoConstraints = false
        image.layer.borderColor = UIColor.blue.cgColor
        image.layer.borderWidth = 1.5
        image.image = UIImage(named: "prof.jpg")
        image.contentMode = .scaleAspectFit
        image.layer.cornerRadius = image.frame.size.width / 2
        image.clipsToBounds = true
        return image
    }()
然后将

layout()添加到viewDidLoad

2 个答案:

答案 0 :(得分:5)

您没有在UIImageView初始化时为其提供框架,因此它使用.zero作为默认框架。这意味着,当您访问image.frame.size.width时,将获得0值。

我建议您将image.layer.cornerRadius = image.frame.size.width / 2类移至viewDidLayoutSubviews类的UIViewController替代项中。

您还可以创建一个自定义类,该类继承UIImageView并实现相同的逻辑。 override的{​​{1}}将是UIImageView

答案 1 :(得分:-1)

图像在封盖内没有框架connconnection = connection.execution_options(autocommit=True)

因此,在设置profileImage的约束条件后,设置拐角半径

*image.layer.cornerRadius = image.frame.size.width / 2*