【问题标题】:Is is possible to communicate between UINavigationController and web page loaded inside UIWebView?是否可以在 UINavigationController 和 UIWebView 中加载的网页之间进行通信?
【发布时间】:2011-11-01 15:25:14
【问题描述】:

我是 iOS 开发新手。我会尽力解释我的问题,如果你觉得它很愚蠢,请原谅我。

我想知道是否可以通过单击 UIWebView 中的链接在 UINavigationController 中加载子视图。

进一步解释,假设有一个 UINavigationController 有一个子视图,并且该子视图有一个名为 A 的 UIWebView,还有另一个名为 B 的子视图(尚未加载)。是否可以加载 B(或执行任何其他本机目标 C 事件)当用户点击 UIWebView A 内的链接时?

例如,在 iPhone 的 Instagram 应用程序中,正如我所观察到的(我可能错了),UINavigationControllers 控制的视图中有 UIWebViews。在 Web 视图中点击链接会加载一个新视图。情况如何?是否可以设置加载在 UIWebView 内的网页与父/超级 UIView 之间的通信?

如果我迷路了,请纠正我。到目前为止,我是 iOS 开发领域的 n00b。如果有任何意义,还请参考我的 API 或教程来执行此操作。提前致谢。

【问题讨论】:

    标签: ios uiviewcontroller uiwebview uiwebviewdelegate


    【解决方案1】:

    如果您只想处理 UIWebView 内的点击链接,只需为 UIWebView 实现一个委托。它有 webView:shouldStartLoadWithRequest:navigationType: ,任何时候尝试在 UIWebView 中加载任何内容时都会调用它。在此方法的实现中,您可以阻止 HTML 内容的加载并执行任何您想要的 obj-c 代码。

    希望有帮助!

    【讨论】:

      猜你喜欢
      • 2018-08-25
      • 1970-01-01
      • 1970-01-01
      • 2011-04-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-05
      • 1970-01-01
      相关资源
      最近更新 更多