TableView Swift

时间:2018-05-14 09:57:37

标签: ios swift uitableview

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

那么在选择tableView

之后我将如何显示红色视图

此守则的链接 https://github.com/anupgupta-arg/iOS-Swift-tableViewSelect

enter image description here

现在我的手机设计

enter image description here

5 个答案:

答案 0 :(得分:1)

在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
      }

这不会超级称呼,因此不会出现问题。

答案 1 :(得分:1)

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

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

这样我的表视图如下所示: TableView without ant selection

[带有选择的TableView]您可以看到UIImageView不受单元格选择的影响,并且UIView受到影响。3

答案 2 :(得分:0)

multipleSelectedBackgroundView用于选定状态,并将其他视图(红色视图)放入contentView。

答案 3 :(得分:0)

如果您只想更改单元格的选定颜色,请尝试使用

目标-C:

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

夫特:

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

答案 4 :(得分:0)

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

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

For storyboard reference