单例UIMenuController的实例用来显示复制,粘贴,选择,全选,删除等功能的菜单界面。
UITextView,UITextField,UIWebView默认支持UIMemuController。
有时需要修改UIMemuController中的item,代码如下:
//放在ViewDidLoad方法中
UIMenuItem *peiMenuItem = [[UIMenuItem alloc]initWithTitle:@"配音" action:@selector(peiYinClick:)];
UIMenuItem *allMenuItem = [[UIMenuItem alloc]initWithTitle:@"全选" action:@selector(allSelectClick:)];
UIMenuController *menuController = [UIMenuController sharedMenuController];
[menuController setMenuItems:@[peiMenuItem, allMenuItem]];
-(BOOL)canPerformAction:(SEL)action withSender:(id)sender
{
if (action == @selector(peiYinClick:))
{
return YES;
}
else if(action == @selector(allSelectClick:))
{
return YES;
}
return NO;
}
- (void)peiYinClick:(id)sender
{
NSLog(@"配音");
}
- (void)allSelectClick:(id)sender
{
NSLog(@"全选");
}
如果想不显示系统自带的功能,需要自定义一个textView继承UITextView,将上面的代码在初始化的地方,并且重写相应的方法。效果图如下:
自定义UIMemuController.png
网友评论