繁体   English   中英

TableView Swift 中的多项选择

[英]Multiple Selection In TableView Swift

当我尝试编辑和选择 Tableview 单元格时,它正在选择单元格但问题是在我的单元格中有一个视图可用。 因此,当它突出显示单元格时,红色视图将从单元格中消失。

那么我将如何在选择 tableView 后显示红色颜色视图

此代码的链接是https://github.com/anupgupta-arg/iOS-Swift-tableViewSelect

在此处输入图片说明

现在我的细胞设计是

在此处输入图片说明

我建议使用带有纯红色图像的 UIImageView而不是UIView 请参阅我的示例代码。 我没有做太多代码,一切都是通过故事板实现的。 请检查链接的图像以了解解决方案。

Prototype Cell它有一个标签,UIImage 和 UIView,背景颜色为红色。 我设置为一些纯色图像的 UIImage。

有了这个,我的表格视图看起来像:没有蚂蚁选择的 TableView

【TableView with selection】可以看到UIImageView没有受到cell选择的影响,UIView受到影响。 3

在 SimpleTableViewCell 中使用此方法:

override func setSelected(_ selected: Bool, animated: Bool) {
          super.setSelected(selected, animated: animated)
        centerView.backgroundColor = .red
      }

当在 tableview 中选择一个单元格时,它会将其所有子视图的背景颜色更改为清除颜色,这就是每次更改红色的原因。

这只是在每次发生时重置它的颜色。

如果您有多个视图,请改用它:

override func setSelected(_ selected: Bool, animated: Bool) {
          contentView.backgroundColor = .gray
      }

这不会调用 super,因此不会出现问题。

multipleSelectedBackgroundView用于选定状态,并将您的另一个视图(红色)放在 contentView 中。

如果您只想更改单元格的选定颜色,那么试试这个

目标-C:

UIView *bgColorView = [[UIView alloc] init];
bgColorView.backgroundColor = [UIColor redColor];
[cell setSelectedBackgroundView:bgColorView];

迅速:

let bgColorView = UIView()
bgColorView.backgroundColor = UIColor.red
cell.selectedBackgroundView = bgColorView

如果您不想在选择TableViewCell显示任何颜色。 然后按照以下步骤操作:

  1. 从情节提要中选择您的 TableView 单元格
  2. 转到属性检查器
  3. 从选择中选择None选项。

供故事板参考

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM