我正在使用swift。我是这个视图控制器:
在1.1.1至1.2.6的图片中,所有都是uibutton。这个按钮以编程方式创建。现在在每个按钮上单击我需要传递2个参数。如果我考虑 1.1.1 Overflater ,那么我需要传递&#34; 1.1.1&#34; 和&#34; Overflater&#34; < / strong>作为参数。我试过如下: -
ov_button.tag = "1.\(i).1"
ov_button.addTarget(self, action: #selector("i3Vatrom.romBeskrivelse:")
, forControlEvents: UIControlEvents.TouchUpInside)
但它没有用。不知道怎么做....
答案 0 :(得分:0)
我认为,如果您未使用UITableView
,请使用UITableView
,使用UITableView
并使用section
和row
标记属性,用于管理按钮。 didSelectRowAtIndexPath
功能用于按钮点击。
答案 1 :(得分:0)
您无法将任何内容传递给动作处理函数。动作处理函数自动接收发送者(这里是按钮)作为参数 - 这就是全部。因此,诀窍是建立你想要传递给按钮对象本身的信息的知识,因为这将是传递的内容!在您的情况下,看起来您可以只为正常状态要求按钮title
并将其解析为"1.1.1"
和"Overflater"
。
答案 2 :(得分:-1)
按钮添加目标代码: -
ov_button.addTarget(self, action: #selector(i3Vatrom.romBeskrivelse), forControlEvents: UIControlEvents.TouchUpInside)
我使用了以下功能: -
func romBeskrivelse(sender:UIButton!) {
let title = sender.titleLabel!.text!
let titleArr = title.characters.split{$0 == " "}.map(String.init)
print(titleArr) // print ["1.2.1", "Overflater"]
}
这就是为什么我认为我必须发布答案。可能这会对其他人有所帮助。