Swift - 将标题分配给多个按钮

Posted

技术标签:

【中文标题】Swift - 将标题分配给多个按钮【英文标题】:Swift - Assign titles to multiple buttons 【发布时间】:2015-10-20 22:14:51 【问题描述】:

我有多个按钮,它们都从一个数组中获取它们的标题。我希望能够通过循环分配标题,但我不知道在循环中如何引用每个按钮。

目前我正在为每个标题添加如下代码行:

button0.setTitle(title[0], forState: .Normal)
button1.setTitle(title[1], forState: .Normal)
button2.setTitle(title[2], forState: .Normal)
button3.setTitle(title[3], forState: .Normal)
etc...

我为每个按钮添加了一个 IBOutlet,但我也将标签用于其他目的,所以如果有办法使用标签来分配标题,我很乐意这样做。

有什么想法吗?

【问题讨论】:

您可以通过这种方式使用标签获取 UIButton:UIButton *button = (UIButton *)[self.view viewWithTag:7]; 【参考方案1】:

你需要一个 IBOutletCollection

在您的 Swift ViewController 中,将所有按钮分配给下面

@IBOutlet var buttons: [UIButton]!

然后分配标题

var buttonTitles = ["Button1","Button2"]

for (index,button) in buttons.enumerate()

  if buttonTitles.count > index
  
    if let title : String = buttonTitles[index]
    
      button.setTitle(title, forState: .Normal)
    
  

【讨论】:

谢谢。正是我想要的。

以上是关于Swift - 将标题分配给多个按钮的主要内容,如果未能解决你的问题,请参考以下文章

将多个手势识别器分配给 AnyObject 时出错

将多个参数乐趣分配给动态按钮时应用程序崩溃

错误:无法将“[String]”类型的值分配给 swift 中的“String”类型

Android Listview 多个按钮点击

如何在 Swift 中使用 UIKit 注册多个按钮点击?

Swift - 处理表格视图多个部分的自定义复选标记按钮状态