当您在自定义的 UIView
中添加了一个 UIButton
,但点击时无法触发该按钮的事件,可能是由于以下几个原因:
UIView
的子视图列表中。isUserInteractionEnabled
属性是否被设置为 false
。addTarget(_:action:for:)
方法已经被正确调用。以下是一个示例代码,展示如何在自定义 UIView
中正确添加和配置一个 UIButton
:
import UIKit
class CustomView: UIView {
private let button = UIButton(type: .system)
override init(frame: CGRect) {
super.init(frame: frame)
setupButton()
}
required init?(coder: NSCoder) {
super.init(coder: coder)
setupButton()
}
private func setupButton() {
// 设置按钮的标题和颜色
button.setTitle("Click Me", for: .normal)
button.setTitleColor(.white, for: .normal)
// 设置按钮的背景颜色
button.backgroundColor = .blue
// 设置按钮的大小和位置
button.frame = CGRect(x: 20, y: 20, width: 100, height: 50)
// 确保按钮的交互性是开启的
button.isUserInteractionEnabled = true
// 添加按钮的目标-动作
button.addTarget(self, action: #selector(buttonTapped), for: .touchUpInside)
// 将按钮添加到视图中
addSubview(button)
}
@objc private func buttonTapped() {
print("Button tapped!")
}
}
这种自定义 UIView
和 UIButton
的组合在许多应用场景中都非常常见,例如:
如果您需要更多关于 UIView
和 UIButton
的详细信息,可以参考以下链接:
通过以上步骤和示例代码,您应该能够解决点击自定义 UIView
中的 UIButton
不触发的问题。
领取专属 10元无门槛券
手把手带您无忧上云