【发布时间】:2016-01-12 03:11:00
【问题描述】:
这可能真的很容易,但我很难让它发挥作用,但基本上是在尝试使用集合视图来制作类似网格的格式,并将按钮粘贴在每个播放声音的单元格内。
这是我目前所拥有的:
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCellWithReuseIdentifier("CollectionViewCell", forIndexPath: indexPath) as UICollectionViewCell
var button = cell.viewWithTag(1) as! UIButton
button.setTitle(Array[indexPath.row], forState: UIControlState.Normal)
return cell
}
数组是基本的,但这里是:
override func viewDidLoad() {
super.viewDidLoad()
Array = ["apple","berries","dogs"]}
我一直在尝试观看此视频 (https://www.youtube.com/watch?v=UH3HoPar_xg @about 12 minutes-ish),但 xcode 吐出一个错误(致命错误:在展开可选值时意外发现 nil)
我现在要做的就是更改按钮标签以匹配数组中的内容(然后我将专注于接下来添加操作)。但是对标签有什么建议吗?我必须先进行插座连接吗?如果是这样,为什么视频中的那个人不必做一个?让我知道,我很感激任何帮助,谢谢。
忘了提及 - 故事板上的按钮的视图设置为 1。
【问题讨论】:
-
我认为您没有收到
UIButton。试试这个if let button = cell.viewWithTag(1) as? UIButton{ button.setTitle(Array[indexPath.row], forState: UIControlState.Normal) } -
嗯,我试过了,但它对我不起作用。对不起,我应该详细说明。它不会引发任何错误,但不会更改按钮的标题
-
尝试打印该值。值是否显示在日志中?
-
它抛出一个错误说“使用标识符未解析的'按钮'”
-
在示例视频中
cell.viewWithTag(1)是UILabel。请与教程一起正确检查您的代码。