在Swift中,如果在UIView中有一个UIButton在UIStackView中,但按钮没有响应,可能是由于以下几个原因:
以下是一个示例代码,展示了如何在Swift中创建一个UIView,其中包含一个UIButton,并将其放置在UIStackView中:
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let stackView = UIStackView()
stackView.axis = .vertical
stackView.alignment = .center
stackView.spacing = 10
let button = UIButton(type: .system)
button.setTitle("Button", for: .normal)
button.addTarget(self, action: #selector(buttonTapped), for: .touchUpInside)
stackView.addArrangedSubview(button)
view.addSubview(stackView)
// 设置stackView的约束,确保其正确显示在视图中
stackView.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate([
stackView.centerXAnchor.constraint(equalTo: view.centerXAnchor),
stackView.centerYAnchor.constraint(equalTo: view.centerYAnchor)
])
}
@objc func buttonTapped() {
print("Button tapped")
}
}
在上述示例中,我们创建了一个UIStackView,并将其添加到视图控制器的视图中。然后,我们创建了一个UIButton,并将其添加到UIStackView中。最后,我们使用约束将UIStackView居中显示在视图中。按钮的触发事件绑定到了buttonTapped()方法,当按钮被点击时,会在控制台输出"Button tapped"。
请注意,这只是一个示例代码,你可以根据自己的需求进行调整和扩展。
领取专属 10元无门槛券
手把手带您无忧上云