neh*_*eha 96 objective-c uitableview ios
我想删除uitableview单元格选择的默认蓝色.我不想要任何选择颜色.我还没有创建自定义单元类.我通过在其上添加标签和按钮来自定义单元格.我试过了
cell.selectioncolor = [UIColor clearcolor];
Run Code Online (Sandbox Code Playgroud)
但它说这种方法已被弃用.
有人可以帮帮我吗?
提前致谢.
Vla*_*mir 289
cell.selectionStyle = UITableViewCellSelectionStyleNone;
Run Code Online (Sandbox Code Playgroud)
在Swift 4中更新
cell.selectionStyle = UITableViewCell.SelectionStyle.none
Run Code Online (Sandbox Code Playgroud)
要么
cell.selectionStyle = .none
Run Code Online (Sandbox Code Playgroud)
Mic*_*ael 44
在Storyboard或中选择此项XIB
小智 11
// Swift 2.0
cell.selectionStyle = UITableViewCellSelectionStyle.None
Run Code Online (Sandbox Code Playgroud)
将 TableView 选择样式设置.none为会影响我的应用程序中 tableview 的响应能力和性能(didSelectRowAt indexPath点击被延迟)。我对这个问题的解决方案awakeFromNib()是在首次创建单元格时隐藏选定的背景视图:
selectedBackgroundView?.isHidden = true
目标C:
cell.selectionStyle = UITableViewCellSelectionStyleNone;
Run Code Online (Sandbox Code Playgroud)
要么
[cell setSelectionStyle:UITableViewCellSelectionStyleNone];
Run Code Online (Sandbox Code Playgroud)
斯威夫特4:
self.selectionStyle = UITableViewCellSelectionStyle.none;
Run Code Online (Sandbox Code Playgroud)
斯威夫特3:
cell.selectionStyle = .none
Run Code Online (Sandbox Code Playgroud)
斯威夫特2:
cell.selectionStyle = UITableViewCellSelectionStyle.None
Run Code Online (Sandbox Code Playgroud)
如果只想使用Storyboard / Xib进行更改,则只需选择要删除“选择样式效果”的单元格并将其定义为“无”即可。它也将像魔术一样工作:D
selectionStyle确定是否可以单击该单元格。
它与单击单元格时是否变为“灰色”无关。
关闭“灰色效果”(当您单击它时)的唯一方法如下:
class YourCell: UITableViewCell {
override func didMoveToSuperview() {
selectedBackgroundView?.isHidden = true
}
...
}
Run Code Online (Sandbox Code Playgroud)
selectedBackgroundView确实可以在故事板上找到。我不会愚弄它,因为生命周期是如此奇怪,但请注意,现在,您确实可以selectedBackgroundView在故事板上了解。你可能可以在那里处理它。
关于本页上的问题,如何“删除单元格突出显示颜色”,请注意 @fingiua 答案正确地指出您进行了调整selectedBackgroundView。但是,它指出您所做的是更改背景颜色。
这在过去在某种程度上是有效的,并且在某些情况下仍然是可能的,但是弄清楚在生命周期中何时必须设置颜色是一项艰巨的任务 - 因为 UIKit 本身不断地设置颜色!(例如,如果您在明显的 didMoveToSuperview 或prepareForReuse 中执行此操作...它根本不起作用。)
这是一个很好的例子,说明在互联网上,对于晦涩但关键的问题,互联网上经常有很多非常旧的示例代码,这些代码被无休止地复制,这要么是错误的,要么是“半错误的”,但仍然被无休止地复制。
您完全没有理由愚弄颜色,因为您想做的只是……隐藏它。所以就隐藏它吧。这(当然)工作可靠(事实上,您可以在视图周期中的任何地方这样做,一旦它被隐藏,那就结束了)。
| 归档时间: |
|
| 查看次数: |
68819 次 |
| 最近记录: |