【发布时间】:2018-03-08 20:58:19
【问题描述】:
我有一个带有UITableView 的iOS 应用程序,我注意到当用户选择Delete 按钮时,单元格背景颜色会闪烁白色。
在editActionsForRowAtIndexPath 方法中,我创建了两个单元格按钮:Edit 和Delete。第一个按钮的样式设置为UITableViewRowActionStyleNormal。但是第二个按钮的样式设置为UITableViewRowActionStyleDestructive - 我注意到只有当样式设置为破坏性时才会出现此问题。有谁知道为什么会这样?
这是我用来设置单元格操作按钮的方法:
-(NSArray *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath {
// Create the table view cell edit buttons.
UITableViewRowAction *editButton = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleNormal title:@"Edit" handler:^(UITableViewRowAction *action, NSIndexPath *indexPath) {
// Edit the selected action.
[self editAction:indexPath];
}];
editButton.backgroundColor = [UIColor blueColor];
UITableViewRowAction *deleteButton = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDestructive title:@"Delete" handler:^(UITableViewRowAction *action, NSIndexPath *indexPath) {
// Delete the selected action.
[tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];
}];
return @[deleteButton, editButton];
}
当用户滚动、点击它或当他/她选择Edit按钮时,单元格的颜色是正常的,但是当他们选择Delete按钮时,单元格变成白色,因为删除动画正在发生.
我该如何解决这个问题?
【问题讨论】:
标签: objective-c uitableview uicolor nsindexpath uitableviewrowaction