我在创建循环 UIImageView
时遇到问题。如果我手动将 corderRadius
设置为一个值,例如。 50,它会有圆角。但是当我尝试将它设置为框架高度或宽度的一半时(frame.width/2
或 frame.height/2
),它不起作用。不知何故,当我尝试打印时,框架是 (0, 0, 0, 0)
。
这是我的代码,
import UIKit
class TestIconController : UIViewController {
let icon: UIImageView = {
let imageView = UIImageView()
imageView.layer.cornerRadius = imageView.frame.width / 2
imageView.clipsToBounds = true
imageView.layer.masksToBounds = true
imageView.backgroundColor = .red
imageView.translatesAutoresizingMaskIntoConstraints = false
return imageView
}()
override func viewDidLoad() {
super.viewDidLoad()
loadLogo()
}
func loadLogo() {
view.addSubview(icon)
// Constraints
icon.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
icon.centerYAnchor.constraint(equalTo: view.centerYAnchor).isActive = true
icon.heightAnchor.constraint(equalToConstant: 200).isActive = true
icon.widthAnchor.constraint(equalToConstant: 200).isActive = true
}
}
最佳答案
覆盖这个函数。
override func viewDidLayoutSubviews() {
icon.layer.cornerRadius = icon.bounds.size.width / 2
icon.clipsToBounds = true
icon.layer.masksToBounds = true
}
关于ios - 如何创建一个圆形的 UIImageView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55529637/