如何在swift 4中从数组中添加标题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在swift 4中从数组中添加标题相关的知识,希望对你有一定的参考价值。

我有一个数组,我想知道怎样才能在Swift 4中使用sender.tag为4个UIButton添加标题

这是我的阵列:

let answer: array = ["Black","Green","Red","Gray"]
答案

使用sender.tag作为answer数组的索引。使用guard确保sender.tag是一个有效的索引(因此它不会崩溃):

let answer = ["Black", "Green", "Red", "Gray"]

@IBAction func buttonPressed(_ sender: UIButton) {
    guard answer.indices.contains(sender.tag) else { return }

    sender.setTitle(answer[sender.tag], for: .normal)
}

如果你将你的按钮挂钩到这个@IBAction并通过tag使你的03,那么当按下按钮时设置的标题将被设置。


如果您的按钮是插座集合的一部分:

@IBOutlet var buttons: [UIButton]!

你可以像这样设置它们(例如在viewDidLoad()中):

buttons.forEach { $0.setTitle(answer[$0.tag], for: .normal)

同样,请务必将tag值设置在answer.indices范围内。

另一答案

导入UIKit

class ViewController:UIViewController {

override func viewDidLoad() {
    super.viewDidLoad()

    let array = ["Black","Green","Red","Gray"]

    var oldButton = UIButton()

    for i in 1...array.count {

        let button = UIButton()

        if i == 1 {

            button.frame = CGRect(x: 10, y: 40, width: 90, height: 20)
            button.tag = i
            button.addTarget(self, action: #selector(ViewController.selctorButton(_:)), for: UIControl.Event.touchDown)
            button.setTitle(array[button.tag - 1], for: .normal)

        }

        else {

            button.frame = CGRect(x: oldButton.frame.maxX + 10, y: 40, width: 90, height: 20)
            button.tag = i
            button.addTarget(self, action: #selector(ViewController.selctorButton(_:)), for: UIControl.Event.touchDown)
            button.setTitle(array[button.tag - 1], for: .normal)

        }

        button.backgroundColor = UIColor.black
        view.addSubview(button)
        oldButton = button

    }
}

@objc func selctorButton(_ sender : UIButton){

    print(sender.tag)

}

}

以上是关于如何在swift 4中从数组中添加标题的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Swift 中从数组中提取随机项?

如何在swift 3中从字典中获取数组

IOS - 如何在 Swift 3 中从 JSON 中捕获动态数组维度

在swift中从数组中提取值

如何在 Swift / iOS 中从 UITableView 中删除行并从 UserDefaults 中更新数组

如何在 Swift 5 中从数组中获取值