【问题标题】:Perform a segue when HTML link is touched触摸 HTML 链接时执行 segue
【发布时间】:2012-04-28 05:46:51
【问题描述】:

我的应用中有一些使用 UIWebView 的 HTML 内容。我想在 HTML 内容中有一个链接,触发我的应用执行 segue 或加载另一个视图控制器。

例如,如果我有一些包含文本“查看我们当前的特价商品”的 HTML 内容,我想使用标签来启用“特价商品”以从情节提要加载特价商品视图控制器。

有什么办法可以做到吗?

【问题讨论】:

    标签: ios5 uiwebview storyboard


    【解决方案1】:

    我没有代码可以向您展示,但我相信我可以向您展示正确的方向,因为我以前必须这样做。这是一种方法。

    1. 在超链接中创建一个具有唯一方案名称和路径的链接。例如使用 MyScheme://GoToThisScreen/Identifier。
    2. 将 UIWebView 委托设置为您的文件所有者,并确保文件所有者实现 UIWebViewDelegate。
    3. 覆盖 webView:shouldStartLoadWithRequest:navigationType: 并检查来自 Web 视图的 URLRequest。如果它不是您的方案(MyScheme),那么您可以让它通过。
    4. 如果这是您的方案,您可以使用它来确定下一步。例如转到另一个屏幕。
    5. 使用 UIStoryBoard 方法 instantiateViewControllerWithIdentifier:将标识符分配给您希望实例化的场景(URI 的最后一部分)。请记住,您必须获得正确的故事板才能使用它。
    6. 将您在第 5 步中收到的视图控制器推入导航控制器。

    希望这会有所帮助。

    【讨论】:

    • 我已按照您提供的步骤进行操作,一切正常,但结果视图控制器似乎存在问题。我有一个类似于 Facebook 应用程序中的菜单的菜单。我正在使用 ECSlidingViewController 类来创建它。当我使用上述步骤展示我的视图控制器时,我的菜单按钮不起作用。起初我以为这是因为我在我的 instantiateViewControllerWithIdentifier 方法中使用了一个通用的 UIViewController 对象,但我已经更改了代码以正确声明视图控制器,但它仍然无法正常工作。有什么想法吗?
    • 并非如此。您似乎缺少链接,或者对视图控制器的引用可能已丢失。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-29
    • 1970-01-01
    • 1970-01-01
    • 2015-04-12
    • 1970-01-01
    • 2012-10-25
    相关资源
    最近更新 更多