【发布时间】:2015-04-11 20:41:47
【问题描述】:
我创建了多个带有独特标签的按钮,并将这些按钮添加到我项目的 UIView 中。我想重新访问它们,以便将按钮添加到视图字典中以进行自动布局。
func createButtons() {
for index in 0...10 {
var button = UIButton.buttonWithType(UIButtonType.System) as UIButton
button.tag = index
self.view.addSubview(button)
}
为自动布局创建视图字典的代码。
func createDictionary() {
var mbd : [String:UIButton]! = [:]
for index in 0...10 {
let tmpButton = self.view.viewWithTag(index) as? UIButton
mbd["button" + String(index)] = tmpButton
}
return mbd
}
但是,我认为上面的代码没有创建任何字典,我不知道为什么。如果我在第一个for loop 中移动我附加到字典的代码,那么一切正常。但我正在努力学习使用viewWithTag 方法,因为我会经常需要它。
感谢任何指导。
【问题讨论】:
-
viewWithTag可能是邪恶的,尤其是当您使用0作为第一个值时,因为0是所有视图的默认值... -
那么有什么更好的方法来跟踪按钮?
-
以大于 0 的唯一索引开始。另外,您的代码不清楚。您创建了一个变量
buttonsDictionary,该变量在该函数中不再使用。相反,您使用mbd(它是一个类变量吗?),它也是从该函数返回的...... -
很抱歉,这是一个错字。所以
1的唯一索引但仍然使用viewWithTag可以吗? -
如果是唯一的而不是0就可以了
标签: ios swift uibutton autolayout