方法不是在iPhone中调用而是在iOS模拟器中调用

时间:2015-07-13 05:56:23

标签: ios objective-c iphone

我非常沮丧地知道一个方法在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];
}

当我在模拟器中运行它然后它工作正常。请参见屏幕截图:

This is what working on simulator.

当我在iPhone中运行它时,它显示“删除”按钮而不是“编辑”。请参见屏幕截图 -

enter image description here

我无法理解代码中可能出现的问题。当我在“editActionsForRowAtIndexPath”中放置一个断点时,它不会被iPhone击中,但它被模拟器击中。

如果有人知道这个问题,请帮助我。

提前致谢。

1 个答案:

答案 0 :(得分:2)

对于5到8之间的所有iOS,请使用MGSwipeTableCell

  

在iPhone和iPad上的所有iOS版本上进行测试:iOS 5,iOS 6,iOS 7和iOS 8。

虽然MGSwipeTableCell不是仅在iOS 8+中可用的editActionsForRowAtIndexPath的直接回复,但它是一个合理的替代方案。它还允许多个按钮和多个滑动方向。