gpt4 book ai didi

ios - 如何为 BarButtonItem 设置唯一 ID

转载 作者:行者123 更新时间:2023-11-28 09:18:17 25 4
gpt4 key购买 nike

是否可以为 BarButtonItem 设置一个标签,并在 action 方法中将其回调到带标签的 BarButtonItem 中。

我试过下面的代码,但是 println(btnsSend.tag) 总是打印 0。
(UIBarButtonItem.title 有效,但我需要设置唯一 ID)

func configureToolbar() {

for(var i:Int = 0; i < watchNameArray.count; i++) {

var newBarButtonItem: UIBarButtonItem {
return UIBarButtonItem(title: watchNameArray[i], style: .Plain, target: self, action: "newButton:");
}

toolbarButtonItems += [newBarButtonItem];
newBarButtonItem.tag = i;
}

thisToolBar.setItems(toolbarButtonItems, animated: true)

}

func newButton(sender: UIBarButtonItem) {
var btnsSend:UIBarButtonItem = sender;
println(btnsSend.tag);
}

如何从操作方法中捕获特定的按下的 UIBarButtonItem。

最佳答案

您已将 newBarButtonItem 定义为...计算局部变量?我什至不知道你能做到这一点,所以荣誉。但这意味着每次访问它时,您都在执行大括号中的代码。也就是说,每一行都会创建一个新的条形按钮项目:

// creates a new bar button item and adds it to toolbarButtonItems:
toolbarButtonItems += [newBarButtonItem]
// creates a new bar button item and sets its tag to i:
newBarButtonItem.tag = i

设置标签的项目与添加到数组的项目完全分开,这就是为什么数组中的所有项目都使用 tag == 0 的原因。

相反,您只想让 newBarButtonItem 成为一个实例;然后你可以自定义它并将它添加到数组中。您的代码部分应如下所示:

var newBarButtonItem = UIBarButtonItem(title: watchNameArray[i], style: .Plain, target: self, action: "newButton:")
newBarButtonItem.tag = i

toolbarButtonItems += [newBarButtonItem]

关于ios - 如何为 BarButtonItem 设置唯一 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26509014/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com