首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

iOS -以编程方式添加具有不同目标的按钮,始终调用最后添加的按钮目标

在iOS开发中,可以通过编程方式添加具有不同目标的按钮,并且始终调用最后添加的按钮目标。下面是一个示例代码:

代码语言:txt
复制
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)等。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

5分33秒

JSP 在线学习系统myeclipse开发mysql数据库web结构java编程

领券