- (void)viewDidLoad
我在视图控制器的方法中添加了一个自定义菜单:
UIMenuItem *menuItem = [[UIMenuItem alloc] initWithTitle:@"Read selected" action:@selector(readSelectedText)];
[UIMenuController sharedMenuController].menuItems = [NSArray arrayWithObject:menuItem];
在同一个控制器中,我还实现了该方法:
- (BOOL)canPerformAction:(SEL)action withSender:(id)sender {
if (action == @selector(readSelectedText)) {
if (textView.selectedRange.length > 0) {
return YES;
}
return NO;
}
return [super canPerformAction:action withSender:sender];
}
我第一次选择一些文本时,菜单包含“读取所选”菜单项,并且一切正常。然而,在随后的文本选择中,菜单仅包含标准系统菜单项,如复制。paste等- (BOOL)canPerformAction:(SEL)action withSender:(id)sender
_readSelectedText
知道为什么会这样吗?