编辑单元格时更改TableViewCell的背景颜色

时间:2016-06-01 12:29:21

标签: ios uitableview

我有一个tableView,其中包含一些黑色背景颜色的单元格。点击导航栏中的编辑按钮,我想更改允许重新排序为黑色的区域的背景颜色,而不是它显示的当前白色?

我可以使用下面的功能将编辑按钮更改为完成,但我不确定如何更改单元格的特定区域。我觉得这是我改变它的地方,但我不知道如何。

override func setEditing (editing:Bool, animated:Bool)
    {
        super.setEditing(editing,animated:animated)

        if (self.editing) {

            self.editButton.title = "Done"
            self.navigationItem.setHidesBackButton(true, animated: true)

        } else {

            self.editButton.title = "Edit"
            self.navigationItem.setHidesBackButton(false, animated: false)
        }
    }

这是我所指的形象。

enter image description here

3 个答案:

答案 0 :(得分:1)

- (void)tableView:(UITableView *)tableView willBeginEditingRowAtIndexPath:(NSIndexPath *)indexPath
{
  UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
  cell.backgroundColor = [UIColor redColor];
}

在此"滑动以删除"模式表视图不显示任何插入,删除和重新排序控件。该方法使代表有机会将应用程序的用户界面调整为编辑模式。

根据您要在用户未删除单元格时捕获事件的注释,但滑动以结束编辑模式。为此,我们有以下代表:

- (void)tableView:(UITableView *)tableView didEndEditingRowAtIndexPath:(NSIndexPath *)indexPath
{
      UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
      cell.backgroundColor = originalColor;
}

答案 1 :(得分:0)

事实证明,在代码中设置单元格的背景颜色,即cellForRowAtIndexPath使颜色均匀地变为黑色。 我最初是从使用的UITableViewCell XIB文件中完成的。

答案 2 :(得分:0)

public class MyTableSource : UITableViewSource
{
    public override UITableViewCell GetCell(UITableView tableView, NSIndexPath indexPath)
    {
        // abbreviation
        // :
        // :

        cell.BackgroundColor = UIColor.Black;
        return cell;
    }
}