[英]iphone:Pop up button in UIWebView
我想在UIWebView中放置像電子郵件這樣的彈出按鈕。在我的應用程序中,我已經創建了電子書
在webView中,每當我單擊(長按)索引頁面鏈接時,它將創建彈出窗口
顯示打開和復制按鈕的窗口,如下所示:
像這樣我想放另一個按鈕,如電子郵件和打印。如何在WebView的彈出窗口中創建另一個按鈕?謝謝!
您引用的彈出窗口稱為UIMenuController
。 您可以訪問[UIMenuController sharedMenuController]
方法來獲取菜單控制器。 然后,您可以將自己的UIMenuItems
添加到菜單控制器。
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的文檔。
編輯
你可以實現長手勢
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];
}
您可以創建一個View Controller,並且可以在View Controller的.xib文件中添加按鈕。
那么您可以在UIPopover ..中調用該viewcontroller並將其加載到其中。
現在,您只想在索引頁面中顯示此彈出窗口,為此,您必須跟蹤諸如表格1-3的頁面屬於索引頁面之類的頁面,因此應該在該頁面上看到popOver。 當您單擊索引鏈接時,可以使用webView委托函數,即
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
在此功能下,您可以應用邏輯並啟動將看到的彈出窗口
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.