iphone - 响应UIWebView点击 Action 调用原生代码页

标签 iphone objective-c ios ipad uiwebview

我正在寻找一种方法来监听 UIWebView 中的操作。例如:当我点击 UIWebView 中的链接或按钮时,我想调用一个新的原生组件,比如评论页面。或者。采取一些其他行动,例如更改导航栏项目。

最佳答案

是的,你可以做到这一点。实现

– webView:shouldStartLoadWithRequest:navigationType:

delegate .只要您的 webview 将要发出请求,就会调用此方法。所以现在当有人单击您网页上的按钮或超链接时,您将调用此方法。接听此电话后,您可以选择对其进行任何操作。比如通过您自己的服务器重定向链接,或向您的服务器记录有关用户事件的请求,或者在您的情况下调出评论页面或更改导航栏等。

示例 - 在这里,您试图拦截在您的网页上单击的任何链接,并首先通过 myMethodAction 传递它。

- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType
{ 
    if(navigationType == UIWebViewNavigationTypeLinkClicked)
    {
         if(overrideLinksSwitch.on == TRUE)
         {
             [self myMethodAction];
             [myWebView stopLoading];
             return YES;
         }
        else
        {
            return YES;
        }
    }
    return YES;
}

希望这有助于...

关于iphone - 响应UIWebView点击 Action 调用原生代码页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8425604/

相关文章:

iphone - iOS - 如何指定来自另一个类的回调?

iphone - 使用核心图形绘制浮雕弧

ios - 为什么当我切换到上一屏幕时,iCarousel View 中的图像显示在上一屏幕中?

iphone - 基于 NSFetchedResultsController 的 TableView 在第二次插入实体时总是失败

objective-c - swift 2 : no delegate callbacks for push notifications as opposed to objective-c

ios - 发送到实例的 UITableView 无法识别的选择器(我个人从未发送过)

ios - Objective C - 将对象添加到数组,同时改变该对象

ios - 搜索数组以查找提供类型的对象

ios - 应用程序传输安全 ios 9 和 instagram api

ios - public private 和 protected in objective-c