UIMenuController

UIMenuController *menuController = [UIMenuController sharedMenuController];
      UIMenuItem *menuItem_1 = [[UIMenuItem alloc] initWithTitle:@"复制" action:@selector()];//@selector()括号中为该按钮触发的方法,该方法必须在UIVIewContrller中进行声明,就是投向的view所绑定的viewController类中必须实现这个方法
      UIMenuItem *menuItem_2 = [[UIMenuItem alloc] initWithTitle:@"删除" action:@selector()];
      UIMenuItem *menuItem_3 = [[UIMenuItem alloc] initWithTitle:@"移动" action:@selector()];
     
      menuController.menuItems = [NSArray arrayWithObjects: menuItem_1, menuItem_2,menuItem_3,nil];
      [menuItem_1 release];
      [menuItem_2 release];
      [menuItem_3 release];
      [menuController setTargetRect:CGRectMake(touchpos_x, touchpos_y, 50, 50) inView:self.view];//touchpos_x, touchpos_y分别为长按那点的x和y坐标   self.view为将要展示弹出框的视图
      [menuController setMenuVisible:YES animated:YES];

1. Menu所处的View必须实现 – (BOOL)canBecomeFirstResponder, 且返回YES
2. Menu所处的View必须实现 – (BOOL)canPerformAction:withSender, 并根据需求返回YES或NO
3. 使Menu所处的View成为First Responder (becomeFirstResponder)
4. 定位Menu (- setTargetRect:inView:)
5. 展示Menu (- setMenuVisible:animated:)

参考文章:http://www.cocoachina.com/bbs/read.php?tid=52728

http://www.cocoachina.com/bbs/read.php?tid-75860.html

posted @ 2013-02-22 18:58  追风.扬  阅读(137)  评论(0)    收藏  举报