如何更改UIWebView Tap事件

时间:2013-01-29 07:08:07

标签: iphone ios uiwebview uiactionsheet

如果我UIWebView上某个链接上的tap tap and hold打开UIWebView,则如何更改UIActionSheet open操作。选项copy add to reading list UIActionsheet ...我需要更改此UIActionSheet控件,例如..我需要再添加一个按钮...如何做到这一点。 ..如何根据我的选择禁用此功能并添加新的- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { NSURL *requestURL = [ request URL]; if (navigationType == UIWebViewNavigationTypeLinkClicked) { // Call your custom actionsheet and use the requestURL to do what you want :) UIActionSheet *sheet = [[UIActionSheet alloc] initWithTitle:@"Contextual Menu" delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles:nil]; [sheet addButtonWithTitle:@"Save Page as Bookmark"]; [sheet addButtonWithTitle:@"Open Page in Safari"]; [sheet showInView:webView]; return NO; } return YES; } - (void)viewDidLoad { [super viewDidLoad]; [webview loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://google.com"]]]; webview.delegate=self; } - (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex { if (buttonIndex == actionSheet.cancelButtonIndex) { return; } switch (buttonIndex) { case 0: { NSLog(@"Item A Selected"); NSLog(@"reg%@", request); NSURL *requestURL = [request URL]; [webview loadRequest:[NSURLRequest requestWithURL:requestURL]]; break; } case 1: { NSLog(@"Item B Selected"); break; } } ...

enter image description here

{{1}}

}

1 个答案:

答案 0 :(得分:1)

你可以这样做,点击链接然后使用你的动作表

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType 
{
    NSURL *requestURL = [ request URL];

    if (navigationType == UIWebViewNavigationTypeLinkClicked)
    {
        // Call your custom actionsheet and use the requestURL to do what you want :)
        return NO;
    }

    return YES;
}


- (void)viewDidLoad
{
    [super viewDidLoad];


     webview.delegate=self;
     [webview loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://google.com"]]];



}