【发布时间】:2016-10-21 16:53:51
【问题描述】:
我有一个带有动态填充行的 UITableView,但顶部还有一个部分包含一个始终相同的特殊单元格(具有不同的标识符)。
我在这个单元格中添加了两个按钮,它们确实可以工作,但是它们的反应很差。也就是说,高亮仅在大约 0.25 秒后发生。
我正在使用以下稍微定制的按钮:
import UIKit
class HighlightingButton: UIButton {
override var isHighlighted: Bool {
didSet {
if isHighlighted {
backgroundColor = UIColor.lightGray
} else {
backgroundColor = UIColor.white
}
}
}
}
重要的是,用户得到他们点击按钮的清晰反馈。然而,尽管事件似乎很快被触发(通过打印一些输出来判断),但这并不令人满意。
在正常视图中,HighlightingButton 会按预期工作,并且突出显示会尽快闪烁。
UITableViewCell 的事件处理中是否存在导致这种缓慢的原因?
更新
我创建了一个 minimalistic example project 来演示该问题。 没有任何 GestureRecognizers,仍然有这个非常明显的延迟。
【问题讨论】:
-
问题可能与按钮无关,也与 UITableViewCell 类无关。我已经在单元格上尝试了您的按钮,并且没有任何问题。也许您在该单元格或其他任何地方有一个长按手势,我们应该注意这一点?
-
我创建了一个简单的示例项目来演示这个问题。所以它也发生在一个非常简单的环境中,没有任何周围的干扰。如果您有时间看一看,我将不胜感激。
标签: ios swift uitableview