你的位置:首页 > 操作系统

[操作系统]IOS MenuController初步了解


IOS MenuController初步了解


  • 默认情况下有以下控件已经支持MenuController。
    • UITextField
    • UITextView
    • UIWebView

  • 让其他控件也支持MenuController

     例如:UILabel
  • 自定义label

  • 重写两个方法
 //允许自己成为第一响应者- (BOOL)canBecomeFirstResponder{  return YES;}//Label能够执行哪些操作(menu)- (BOOL)canPerformAction:(SEL)action withSender:(id)sender{  if (action == @selector(copy:) || action == @selector(cut:)) {    return YES;  }  return NO;}
  • 实现各种操作方法
 - (void)copy:(id)sender{  //复制版  UIPasteboard * paste = [UIPasteboard generalPasteboard];  paste.string = self.text;}- (void)cut:(id)sender{  UIPasteboard * paste = [UIPasteboard generalPasteboard];  paste.string = self.text;  self.text = nil;}- (void)paste:(id)sender{  UIPasteboard * paste = [UIPasteboard generalPasteboard];  self.text = paste.string;}
  • 让Label成为第一响应者
 //让自己成为第一响应者  [self becomeFirstResponder];
  • 显示MenuController
   //初始化menu  UIMenuController * menu = [UIMenuController sharedMenuController];  //设置menu的显示位置  [menu setTargetRect:self.frame inView:self.superview];  //让menu显示并且伴有动画  [menu setMenuVisible:YES animated:YES];