1

私はUIWebViewを持っています。UIWebView からテキストを選択する必要があります。そのため、MenuItem に UIMenuController を使用しています。ボタンのクリック中に 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

2年前に尋ねられたので、おそらく少し遅すぎますが、私のような誰かが遭遇した場合:

menuController を可視にするのを忘れました。

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

あなたの最後に -(void)show:(id)sender; メソッドはそれを行うべきでした。

乾杯 ;)

于 2016-08-01T09:37:09.603 に答える