Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.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
ios 7-自定义UIMenuItem在TableViewCell上不工作_Ios_Uitableview_Uimenucontroller - Fatal编程技术网

ios 7-自定义UIMenuItem在TableViewCell上不工作

ios 7-自定义UIMenuItem在TableViewCell上不工作,ios,uitableview,uimenucontroller,Ios,Uitableview,Uimenucontroller,我正在tableViewCell上添加自定义UIMenuItem。我使用这个stackoverflow来添加customMenuItem。这在ios 6上运行良好。但它在ios 7上根本不起作用 以下是我的实施情况: 在viewDidLoad中: UIMenuItem *sendByEmailMenuItem = [[UIMenuItem alloc] initWithTitle:@"Send By Email" action:@selector(sendByEmail:)]; [[UIMenu

我正在tableViewCell上添加自定义
UIMenuItem
。我使用这个stackoverflow来添加customMenuItem。这在ios 6上运行良好。但它在ios 7上根本不起作用

以下是我的实施情况:

viewDidLoad
中:

UIMenuItem *sendByEmailMenuItem = [[UIMenuItem alloc] initWithTitle:@"Send By Email" action:@selector(sendByEmail:)];
[[UIMenuController sharedMenuController] setMenuItems: @[sendByEmailMenuItem]];
[[UIMenuController sharedMenuController] update];
然后添加它的委托

// Shared Menu item delegate actions

- (BOOL)tableView:(UITableView *)tableView shouldShowMenuForRowAtIndexPath:(NSIndexPath *)indexPath {
    self.orderAtIndex = [self.orders objectAtIndex:indexPath.row];
    [self becomeFirstResponder];
    return YES;
}

- (BOOL)tableView:(UITableView *)tableView canPerformAction:(SEL)action forRowAtIndexPath:(NSIndexPath *)indexPath withSender:(id)sender 
{
    return  (action == @selector(sendByEmail:));
}


- (void)tableView:(UITableView *)tableView performAction:(SEL)action forRowAtIndexPath:(NSIndexPath *)indexPath withSender:(id)sender {
    if (action == @selector(sendByEmail:)) {
        [self sendByEmail:sender];
    }
}
//子类化表视图单元格

-(BOOL) canPerformAction:(SEL)action withSender:(id)sender {
    return (action == @selector(sendByEmail:));
}

- (BOOL)canBecomeFirstResponder {
    return YES;
}

- (void) sendByEmail: (id) sender {
    // Some actions...
}

我做错了什么?感谢您的帮助。谢谢

视图中将出现
视图加载
,我添加了这些

 UIMenuItem *translateToMenu = [[UIMenuItem alloc] initWithTitle:@"Translate to.." action:@selector(translateTo:)];
 UIMenuController *menuController = [UIMenuController sharedMenuController];
 [menuController setMenuItems:[NSArray arrayWithObject:translateToMenu]];
 [menuController setMenuVisible:YES animated:YES];
增加了这个方法

-(void) translateTo: (id) sender {}
只添加这两种方法

- (BOOL) canPerformAction:(SEL)selector withSender:(id) sender {
    if (selector == @selector(translateTo:)) 
        return YES;
    else
        return NO;
}

- (BOOL) canBecomeFirstResponder {
    return YES;
}

试试这个,让我知道…

lol我三天前用这个撞了头…:)但现在我成功了,问题出在哪里。你能添加你的解决方案吗?是的,问题是方法没有被调用,
becomeFirstResponder
method完成了这个技巧…答案中提供了代码..帮助你解决了它..不,我在我的TableViewController实现中添加了它。但不工作的坦克,我添加了这个新的项目与tableViewController。但仍然不起作用。它真的对你有用吗?是的,我这里有它……它是在显示还是根本没有显示?你还需要补充一件事……
[self becomeFirstResponder]你添加了这个吗?你没有为此添加任何表视图委托操作。像我上面说的那样?我试着把它们保留下来,然后把它们拿走。但是不能让它工作。。你有定制的tableViewCell吗?