我有一个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)
}
}
这是我所指的形象。
答案 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;
}
}