UITableView静态单元格 - 选择颜色不起作用

时间:2015-09-28 03:18:33

标签: ios objective-c uitableview

我的静电电池有问题。这是我的tableview结构:
http://i.stack.imgur.com/1gq1y.png(我无法发布图片)

单元格背景颜色为Gray,contentView背景颜色为ClearColor。该单元格未使用自定义UITableViewCell子类。

我在故事情节中将Selection设置为Blue。但是,当我运行它时,输出为Gray

我尝试使用以下代码在didSelectRowAtIndexPath中手动执行此操作:

currentCell.contentView.backgroundColor = self.view.tintColor;

但结果如下:http://i.stack.imgur.com/Zfatl.png

单元格中的标签不会更改为白色,附件背景不会更改。请帮忙。非常感谢你!

4 个答案:

答案 0 :(得分:0)

在cellForRowAtIndexPath方法中将单元格选择stylecolor添加为stylenone。

StrategyTwo

答案 1 :(得分:0)

Add the following code to your TableView: cellForRowAtIndexPath method.

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{

 // Write code for create your cell and properties regarding that cell
 //add this line 
   cell.selectionStyle = UITableViewCellSelectionStyleDefault;
    UIView *bgColorView = [[UIView alloc] init];
    bgColorView.backgroundColor = [UIColor blueColor];
    [cell setSelectedBackgroundView:bgColorView];

 return cell;
}

答案 2 :(得分:0)

  

请注意,在iOS 7中,使用

     

[cell setSelectionStyle:UITableViewCellSelectionStyleBlue];

     

将无法正常工作,因为在iOS 7中,即使是灰色也是如此   你传递上面的常数。参见:

     

https://developer.apple.com/library/ios/documentation/uikit/reference/UITableViewCell_Class/Reference/Reference.html#//apple_ref/c/tdef/UITableViewCellSelectionStyle

Vern Jensen的回答: https://stackoverflow.com/a/19257253/2575115

答案 3 :(得分:0)

我正在这样做这个选择。我在表视图的

部分中将静态标题单元格作为0索引行
 override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {

        print("Did select row \(indexPath.row) in section \(indexPath.section)")

        if indexPath.row > 0 {
            let cell = tableView.cellForRow(at: indexPath)
            cell?.selectionStyle = .gray
        }
    }