我非常沮丧地知道一个方法在iOS模拟器中正常工作但在我的iPhone中无法正常工作。我正在使用iPhone 4S。
我想要做的是,我想在滑动时添加“编辑”按钮而不是“删除”按钮。我正在使用以下代码 -
-(BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath{
return YES;
}
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle
forRowAtIndexPath:(NSIndexPath *)indexPath{
}
- (NSArray *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath{
UITableViewRowAction *edit = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDefault
title:@"Edit"
handler:^(UITableViewRowAction *action, NSIndexPath *indexPath) {
// Open Edit Screen
isEdited = YES;
if (isSearchResult) {
editArray = [NSMutableArray arrayWithObject:[searchResults objectAtIndex:indexPath.row]];
}
else{
editArray = [NSMutableArray arrayWithObject:[soArray objectAtIndex:indexPath.row]];
}
[self performSegueWithIdentifier:@"addCateChild" sender:nil];
}];
return @[edit];
}
当我在模拟器中运行它然后它工作正常。请参见屏幕截图:
当我在iPhone中运行它时,它显示“删除”按钮而不是“编辑”。请参见屏幕截图 -
我无法理解代码中可能出现的问题。当我在“editActionsForRowAtIndexPath”中放置一个断点时,它不会被iPhone击中,但它被模拟器击中。
如果有人知道这个问题,请帮助我。
提前致谢。
答案 0 :(得分:2)
对于5到8之间的所有iOS,请使用MGSwipeTableCell
在iPhone和iPad上的所有iOS版本上进行测试:iOS 5,iOS 6,iOS 7和iOS 8。
虽然MGSwipeTableCell
不是仅在iOS 8+中可用的editActionsForRowAtIndexPath
的直接回复,但它是一个合理的替代方案。它还允许多个按钮和多个滑动方向。