Tom*_*y D 5 tags uibutton ios swift
我的控制器中有大约15个UIButton.我试图用一个简单的for循环来清除其中的10个,看起来我正在遇到某种冲突.
当我按下按钮清除时,我收到以下错误:
无法将'_UISizeTrackingView'(0x18a023c)类型的值转换为'UIButton'(0x1899298).(LLDB)
对于循环是:
for var i = 0; i < 9; i++ {
button = view.viewWithTag(i) as! UIButton
button.setImage(nil, forState: .Normal)
}
Run Code Online (Sandbox Code Playgroud)
我已将其缩小到使用标记0的项目的问题.我查看了View Controller场景中的所有项目,但似乎找不到任何冲突.我只看到使用tag = 0的一个按钮.
我甚至通过用'0'替换循环中的'i'来解决它并得到同样的问题.当我用'1'或'2'替换它时,可以正常使用该单个图像.
有什么方法可以看到哪个对象使用标签0?我点击了所有这些(包括主要的'视图'),但似乎找不到任何东西.
正如@ranunez已经说过的那样,默认标签是0.我不同意使用非零标签的建议.
我的建议是,根本不要使用标签.如果要在代码中使用视图,请为其声明一个插座并连接它.如果要迭代多个视图,请从您的商店创建一个数组或使用一组商店:
@IBOutlet var buttons: [UIButton]!
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12776 次 |
| 最近记录: |