Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用UIMenuController编辑和删除UITableView行_Uitableview_Uigesturerecognizer_Uimenucontroller_Uimenuitem - Fatal编程技术网

使用UIMenuController编辑和删除UITableView行

使用UIMenuController编辑和删除UITableView行,uitableview,uigesturerecognizer,uimenucontroller,uimenuitem,Uitableview,Uigesturerecognizer,Uimenucontroller,Uimenuitem,我有一个UITableView,它显示我的plist中的数据。是否有任何方法可以使用UIMenuController编辑/删除行的数据 可以使用传统的滑动行来编辑/删除行,但我正在使用UISweepGestureRecognitizer来显示我的secondViewController-此视图控制器是我可以向我的plist添加数据的地方 出现了UIMenuItem,但我不知道如何从这里开始 如果有人能带我走过,我将不胜感激 这是我的longPressHandler,它触发我的UIMenuCont

我有一个
UITableView
,它显示我的
plist
中的数据。是否有任何方法可以使用
UIMenuController
编辑/删除
行的数据

可以使用传统的滑动行来编辑/删除行,但我正在使用
UISweepGestureRecognitizer
来显示我的
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.");
}

看起来你在那里有你所需要的一切

因此,在deleteFruit方法中,只需删除找到的索引XPath处的项,并在tableview上调用-deleteRowsAtIndexPaths:withRowAnimation: