我有很多地方使用带圆角的轮廓图像。而不是每次写作
profileImageView.layer.cornerRadius = profileImageView.frame.size.width / 2;
我决定创建自己的继承UIImageView的类。 并在init函数中添加角落
class UISlProfileImageView: UIImageView {
override init(image: UIImage?){
super.init(image:image)
roundCorner()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
}
extension UISlProfileImageView{
func roundCorner(){
self.layer.cornerRadius = self.frame.size.width / 8;
self.clipsToBounds = true
}
}
问题是,在我将故事板中的相应图片更改为UISlProfileImageView之后,圆形核心人员显示出来了。你能告诉我,我做错了什么。我在新课程的初始阶段设置了一个断点,奇怪的是它并没有止步于此。
答案 0 :(得分:4)
您应该覆盖方法layoutSubviews()并在该方法中调用roundCorner()。如
override func layoutSubviews() {
super.layoutSubviews()
roundCorner()
}
答案 1 :(得分:0)
如果您希望舍入每个5
,可以将这段代码复制到您的项目中,而不必忘记选中UIImageView
并将其值设置为clip to bounds
true