iOS 7 - UIWebView扩展菜单

时间:2014-02-17 18:55:33

标签: ios uiwebview uimenucontroller

我想为选择某些文字时出现的菜单添加其他菜单项。

我已将以下代码添加到viewDidLoad

NSMutableArray *extraItems = [[NSMutableArray alloc] init];
UIMenuItem *boldItem = [[UIMenuItem alloc] initWithTitle:@"Bold"
                                                      action:@selector(bold:)];
[extraItems addObject:boldItem];

[UIMenuController sharedMenuController].menuItems = extraItems;

我也用这些方法覆盖了我的自定义UIWebView:

- (void)bold:(id)sender {

}

- (BOOL)canPerformAction:(SEL)action withSender:(id)sender {
    if (action == @selector(bold:))
        return YES;
    return [super canPerformAction:action
                        withSender:sender];
}

因此,有时当我突出显示文本菜单时,菜单会安抚,但有时则不会。我不知道问题是什么。

1 个答案:

答案 0 :(得分:0)

您的数组“extraItems”应该是NSArray,而不是NSMutableArray,因此您添加到viewDidLoad的前三行应替换为:

UIMenuItem* extraItem = [[UIMenuItem alloc] initWithTitle:@"Bold" action:@selector(bold:)]; NSArray* extraItems = [NSArray arrayWithObject:extraItem];

然后将这个版本的extraItems数组添加到sharedMenuController中。就像你一样。