我有UITableView
,显示我plist
的数据。我有什么办法可以使用row
编辑/删除UIMenuController
的数据吗?
使用传统的滑动行来编辑/删除行会很好,但是我使用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.");
}
答案 0 :(得分:1)
看起来你已经拥有了所有你需要的东西。
所以在你的deleteFruit方法中,只需删除你找到的indexPath上的项目,并在tableview上调用-deleteRowsAtIndexPaths:withRowAnimation:。