1

我有 UIWebView。我需要从 UIWebView 中选择一些文本。所以我将 UIMenuController 用于 MenuItem。我需要在单击按钮时显示 UIMenuController。但它不起作用。如果我将代码粘贴到 ViewDidLoad 中,它就可以工作。

代码:

[wbCont loadHTMLString:webString baseURL:nil];
    [self.view addSubview:wbCont];

    button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
        button.frame = CGRectMake(80.0, 120.0, 160.0, 40.0);
        [button addTarget:self
                   action:@selector(show:)
         forControlEvents:UIControlEventTouchDown];
        [button setTitle:@"Shows" forState:UIControlStateNormal];
        [self.view addSubview:button];

-(void)show:(id)sender{


 NSMutableArray *items = [[[UIMenuController sharedMenuController] menuItems] mutableCopy];
    if (!items) items = [[NSMutableArray alloc] init];

    UIMenuItem *menuItem;
    menuItem = [[UIMenuItem alloc] initWithTitle:@"BookMark" action:@selector(book:)];
    [items addObject:menuItem];
    [menuItem release];
    menuItem = [[UIMenuItem alloc] initWithTitle:@"Note" action:@selector(note:)];
    [items addObject:menuItem];
    [menuItem release];

    [[UIMenuController sharedMenuController] setMenuItems:items];
    [items release];

}
4

1 回答 1

1

可能有点太晚了,就像两年前被问到的那样,但如果有人 - 像我一样 - 遇到:

您忘记了使 menuController 可见。

[[UIMenuController sharedMenuController] setMenuVisible:YES animated:YES];

在你的最后 -(void)show:(id)sender; 方法应该做到了。

欢呼;)

于 2016-08-01T09:37:09.603 回答