使用按钮单击显示 UIMenuController
Posted
技术标签:
【中文标题】使用按钮单击显示 UIMenuController【英文标题】:Display UIMenuController using button click 【发布时间】:2013-10-05 09:56:01 【问题描述】:我有 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];
【问题讨论】:
【参考方案1】:可能有点太晚了,就像两年前问的那样,但如果有人 - 像我一样 - 遇到:
你忘记让 menuController 可见了。
[[UIMenuController sharedMenuController] setMenuVisible:YES animated:YES];
在你的最后 -(void)show:(id)sender;方法应该做到了。
干杯 ;)
【讨论】:
以上是关于使用按钮单击显示 UIMenuController的主要内容,如果未能解决你的问题,请参考以下文章
由于在应用程序的其他地方使用 UIMenuController,UISearchBar 显示错误的 UIMenuItems
UIMenuController 不显示在第二个 UIViewController
UIMenuController setTargetRect 详细信息