ios 7-自定义UIMenuItem在TableViewCell上不工作
我正在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
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吗?