ios - Swift TableViewCell 客户 didSelect
问题描述
我有一个客户TableViewCell
。当它被点击时,它应该有一个cornerRadius
+ 白色背景和.alpha(0.7)
. 现在它只是默认值grey
,如下所示:
我尝试设置cornerRadius
并backgroundColor
在setSelected()
我的内部CustomCell
,但这无济于事。
更新
我设法完成了它,几乎:
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
self.selectedBackgroundView = UIView()
self.selectedBackgroundView?.layer.cornerRadius = 10
self.selectedBackgroundView!.backgroundColor = selected ? .clear : .white
self.selectedBackgroundView?.alpha = 0.5
}
这工作正常,但它唯一没有做的就是应用alpha-value
. 任何的想法?
解决方案
根据我的经验,您经常需要致电:
self.setNeedsLayout()
从 setSelected 函数中,以便实际更改单元格的视图。可能值得一试。否则,如果您可以发布您的 setSelected 函数,这将对您找到解决方案非常有帮助。
推荐阅读
- excel - 如何在excel中提取不同的行?
- xpath - 努力从 BarChart 网站导入
- django - 在不通过 url.py 的情况下调用基于类的视图 (POST) 方法
- codeigniter - 父控制器函数调用取决于http方法?
- airflow - 如果气流中的 DAG 有 10 个任务并且在第 5 个任务中失败,那么当再次触发 dag 时,如何确保它从中间的第 5 个任务开始?
- java - Java Hibernate - 查询中的括号错误
- liquibase - 从 3.5.5 迁移到 3.6.0 或更高版本时,Liquibase 更新非常慢
- android - 仅当 minifyEnabled 和 LifeCycle v 2.1.0 时应用程序在创建 ViewModel 时崩溃
- nginx - 有没有办法使用 Nginx 创建点对点(每个客户端 1 个服务器)连接?
- c# - lsalogonuser 不返回令牌