我正在开发一个应用程序,它有一个PageViewController
和两个视图控制器作为它的子项。其中一个子视图控制器有一个UITableView
。
滑动子视图控制器时出现问题。我希望有两个功能,比如应该在tableView上删除一下。 当我滑动子视图控制器时,它会将滑动发送到pageViewController。因此,当我们滑动表格视图单元格时,它不会显示删除按钮。
我希望在滑动事件中有两个功能,以便同时存在:
答案 0 :(得分:3)
试试这个,
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {
return YES;
}
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
if (editingStyle == UITableViewCellEditingStyleDelete) {
//delete your data here
}
}
答案 1 :(得分:1)
您应该将YES
返回到UITableViewDataSource
协议的此方法,告诉tableView您的单元格可以响应滑动以显示删除按钮:
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {
// Return NO if you do not want the specified item to be editable.
return YES;
}
然后删除此方法中的数据,当用户点击删除按钮时调用该数据:
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
if (editingStyle == UITableViewCellEditingStyleDelete) {
// Remove here your data
...
// This line manages to delete the cell in a nice way
[tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];
}
}