是否有任何理由为啥我的 UITableViewCell 的覆盖 setHighlighted 不会被调用但 UITableViewDelegate 方法会?
Posted
技术标签:
【中文标题】是否有任何理由为啥我的 UITableViewCell 的覆盖 setHighlighted 不会被调用但 UITableViewDelegate 方法会?【英文标题】:Is there any reason why my overriden setHighlighted for a UITableViewCell would not get called but the UITableViewDelegate method does?是否有任何理由为什么我的 UITableViewCell 的覆盖 setHighlighted 不会被调用但 UITableViewDelegate 方法会? 【发布时间】:2015-07-09 21:05:46 【问题描述】:在 Swift 中,我重写了单元格的 highlighted
属性以更改它在突出显示时的外观,但是当我点击它时它永远不会被调用。
override var highlighted: Bool
didSet
println("called")
但是,被调用的UITableViewDelegate
方法didHighlightCellAtIndexPath
每次都会被调用。
这怎么可能?
【问题讨论】:
【参考方案1】:确保UITableView
实际填充了UITableViewCell
子类 的实例。也就是说,确保 tableView(_:cellForRowAtIndexPath:)
实际上返回了您的 UITableViewCell
子类的对象。如果不是,则永远不会使用该属性覆盖。
【讨论】:
是的,我查过了,确实如此。 @DougSmith 嗯,好吧。是否有可能看到您项目的(可能简化的)副本?以上是关于是否有任何理由为啥我的 UITableViewCell 的覆盖 setHighlighted 不会被调用但 UITableViewDelegate 方法会?的主要内容,如果未能解决你的问题,请参考以下文章
是否有任何理由使用 (nr & 1 == 0) 而不是 (nr % 2 == 0) 来检查奇偶校验?