在iOS开发中,可以通过编程方式添加具有不同目标的按钮,并且始终调用最后添加的按钮目标。下面是一个示例代码:
import UIKit
class ViewController: UIViewController {
var buttons = [UIButton]() // 用于存储添加的按钮
override func viewDidLoad() {
super.viewDidLoad()
// 创建并添加按钮
addButton(title: "Button 1", target: #selector(button1Tapped))
addButton(title: "Button 2", target: #selector(button2Tapped))
addButton(title: "Button 3", target: #selector(button3Tapped))
// 设置按钮的布局
layoutButtons()
}
func addButton(title: String, target: Selector) {
let button = UIButton(type: .system)
button.setTitle(title, for: .normal)
button.addTarget(self, action: target, for: .touchUpInside)
buttons.append(button)
view.addSubview(button)
}
func layoutButtons() {
var previousButton: UIButton? = nil
for button in buttons {
button.translatesAutoresizingMaskIntoConstraints = false
// 设置按钮的约束
button.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 20).isActive = true
button.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: -20).isActive = true
if let previousButton = previousButton {
button.topAnchor.constraint(equalTo: previousButton.bottomAnchor, constant: 20).isActive = true
} else {
button.topAnchor.constraint(equalTo: view.topAnchor, constant: 100).isActive = true
}
previousButton = button
}
}
@objc func button1Tapped() {
print("Button 1 tapped")
}
@objc func button2Tapped() {
print("Button 2 tapped")
}
@objc func button3Tapped() {
print("Button 3 tapped")
}
}
这段代码演示了如何通过编程方式添加具有不同目标的按钮,并且始终调用最后添加的按钮目标。在viewDidLoad
方法中,我们创建了三个按钮并分别设置它们的标题和目标。然后通过layoutButtons
方法设置按钮的布局,使用Auto Layout来约束按钮的位置。最后,我们为每个按钮的目标方法添加了相应的处理函数。
这个例子中使用了UIKit框架来创建和布局按钮,适用于iOS应用的前端开发。如果你想了解更多关于iOS开发的信息,可以参考腾讯云的移动开发相关产品和服务,比如腾讯移动开发平台(https://cloud.tencent.com/product/mps)和腾讯移动推送(https://cloud.tencent.com/product/tpns)等。
领取专属 10元无门槛券
手把手带您无忧上云