我正在尝试创建圆形图像,并且已经实现了正确的代码,但是我不知道为什么下面的代码没有四舍五入是我的代码
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
答案 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*