如何在 UITableViewCell 上保留子视图
Posted
技术标签:
【中文标题】如何在 UITableViewCell 上保留子视图【英文标题】:How to keep subview on UITableViewCell 【发布时间】:2016-11-16 18:10:42 【问题描述】:当用户点击附件视图时,UITableViewCell 中的个人资料图像会被一个黑色视图变暗,该黑色视图作为子视图添加。
下面是带有黑色子视图的单元格:
问题是:当我点击另一个单元格时,子视图会从第一个单元格中移除并添加到第二个单元格中:
我想保留所有被点击的单元格的子视图。
这是我处理该功能的代码:
self!.profileImageBlackView.cornerRadius = cell.followUserImage.frame.height/2
self!.profileImageBlackView.frame = cell.followUserImage.frame
cell.followUserImage.addSubview(self!.profileImageBlackView)
cell.followButton.hidden = false
由于某种原因,两个单元格都添加了关注按钮,但“profileImageBlackView”会根据激活的一个单元格从一个单元格移动到另一个单元格。
【问题讨论】:
profileImageBlackView
应该属于 UITableViewCell 子类,您应该在 cellForRow
方法中隐藏/取消隐藏它。
另外,profileImageBlackView
似乎不是UIView
,而是CALayer
,所以相应地调用它
这是 UITableViewCell 的默认高亮行为吗?如果是这样,请在表格中启用多选。
【参考方案1】:
您不能在不同的单元格中显示相同的视图。如果您将视图添加到另一个单元格,它将从第一个单元格中删除。您必须为每个单元格创建一个单独的视图。
【讨论】:
以上是关于如何在 UITableViewCell 上保留子视图的主要内容,如果未能解决你的问题,请参考以下文章
添加一个在 UITableViewCell 中保留其文本的 UITextField
如何在默认样式的 UITableViewCell 中为我还没有的图像保留空间