我想在UIWebView中放置像电子邮件一样的弹出按钮.在我的应用程序中,我创建了电子书
现在,只要我在索引页链接上单击(长按),它就会创建弹出窗口
打开和复制按钮的窗口如下所示:
像这样我想放置另一个按钮,如电子邮件和打印.如何在WebView的弹出窗口中创建另一个按钮?提前感谢!
解决方法
您引用的弹出窗口称为UIMenuController.您可以访问[UIMenuController sharedMenuController]方法来获取菜单控制器.然后,您可以将自己的UIMenuItem添加到菜单控制器.
UIMenuItem* myBtn1 = [[[UIMenuItem alloc] initWithTitle: @"Button 1" action:@selector( onButton1: )] autorelease]; UIMenuItem* myBtn2 = [[[UIMenuItem alloc] initWithTitle: @"Button 2" action:@selector( onButton2: )] autorelease]; UIMenuController* mc = [UIMenuController sharedMenuController]; mc.menuItems = [NSArray arrayWithObjects: myBtn1,myBtn2,nil];
现在实现这些方法
- (void) onButton1: (UIMenuController*) sender { } - (void) onButton2: (UIMenuController*) sender { }
有关详细信息,请参阅apple’s Doc.
编辑
你可以实现Long Gesture
UILongPressGestureRecognizer* gr = [[[UILongPressGestureRecognizer alloc] initWithTarget: self action: @selector( onShowMenu: ) ] autorelease]; [_myview addGestureRecognizer: gr]; - (void) onShowMenu: (UIGestureRecognizer*) sender { [sender.view becomeFirstResponder]; UIMenuController* mc = [UIMenuController sharedMenuController]; CGRect bounds = sender.view.bounds; [mc setTargetRect: sender.view.frame inView: sender.view.superview]; [mc setMenuVisible: YES animated: YES]; }