我的(静态)单元格上的代码有一个奇怪的问题。在多个细胞中,我有一个UIButton。当我点击它时,一切都很好,但当我点击按钮旁边的区域(仍然在单元格中)时,它变为灰色(选中单元格时的颜色)+按钮也会消失!
使用以下代码按下时,我尝试将单元格的背景更改为白色:
override func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {
let myBackView=UIView(frame:cell.frame)
myBackView.backgroundColor = UIColor.clearColor()
cell.selectedBackgroundView = myBackView
}
答案 0 :(得分:1)
这是选择UITableViewCells时的常见问题,请参阅Why do all backgrounds disappear on UITableViewCell select?
如果您不打算选择单元格,请执行this delegate method:
- (NSIndexPath * _Nullable)tableView:(UITableView * _Nonnull)tableView willSelectRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath
并在nil
是您的单元格时返回indexPath
。这将禁用此单元格的选择。
如果您的单元格都没有被选中,那就更容易了,只需将UITableView's allowsSelection
设置为NO
(这也可以在Interface Builder中完成)。