我想在我的自定义 View 中添加一个 subview (UIButton)。但是,当我在创建的函数中执行 addSubview() 时,它不会添加 UIButton,即使我调用 setNeedsLayout() 也是如此。我在 ViewController 中调用 addButton()
class PlayingField: UIView {
var buttons: [UIButton] = []
func addButton() {
let button = UIButton()
addSubview(button)
buttons.append(button)
setNeedsLayout()
layoutIfNeeded()
}
override func layoutSubviews() {
for i in buttons.indices {
buttons[i].frame = CGRect(x: 50, y: 50, width: 100, height: 100)
buttons[i].backgroundColor = UIColor.green
}
}
}
最佳答案
您确定能够绘制您的CustomView
吗?您在此 View 中看到任何其他组件吗?
因为如果您有一个 xib
文件绑定(bind)到此文件,那么您可能需要加载 nib。您可以在这里找到如何操作的答案:Load UIView from nib
如果没有,您可能会遇到 layoutSubviews
未被调用的问题,这就是您根本没有添加 subview 的原因。
关于ios - 如何以编程方式快速将 subview 添加到自定义 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57376963/