0

我有一个UITableView,它显示我的plist中的数据。有什么方法可以使用UIMenuController编辑/删除row的数据?使用UIMenuController编辑并删除UITableView行

这将是罚款使用传统的刷卡-的行以编辑/删除该行,但我使用UISwipeGestureRecognizer显示我secondViewController - 这个视图控制器是在那里我可以一个数据添加到我的plist

UIMenuItem显示,但我不知道如何从这里开始。

这将不胜感激,如果有人能走过我。

这是我的longPressHandler,它触发我的UIMenuController

- (void)longPressHandler:(UILongPressGestureRecognizer *)sender 
{ 
    if ([sender state] == UIGestureRecognizerStateBegan) { 
     [self becomeFirstResponder]; 

     CGPoint point = [sender locationInView:[self myTableView]]; 
     NSIndexPath *indexPath =[[self myTableView] indexPathForRowAtPoint:point]; 

     UIMenuController *menuController = [UIMenuController sharedMenuController]; 

     UIMenuItem *editFruit = [[UIMenuItem alloc] initWithTitle:@"Edit" action:@selector(editFruit)]; 
     UIMenuItem *deleteFruit = [[UIMenuItem alloc] initWithTitle:@"Delete" action:@selector(deleteFruit)]; 

     [menuController setTargetRect:[[self myTableView] rectForRowAtIndexPath:indexPath] 
           inView:[self myTableView]]; 
     [menuController setMenuItems:[NSArray arrayWithObjects:editFruit, deleteFruit, nil]]; 

     [menuController setMenuVisible:YES 
           animated:YES]; 
    } 
} 

这是它结束的地方。

- (void)deleteFruit 
{ 
    NSLog(@"Delete."); 
} 

- (void)editFruit 
{ 
    NSLog(@"Edit."); 
} 

回答

1

它看起来像你有你需要的一切。

因此,在您的deleteFruit方法中,只需删除您找到的indexPath处的项目,然后在tableview中调用-deleteRowsAtIndexPaths:withRowAnimation:即可。

相关问题