【问题标题】:How to display pdf in a WebView in terms of UI and UX - iOS Swift如何根据 UI 和 UX 在 WebView 中显示 pdf - iOS Swift
【发布时间】:2018-01-03 08:29:26
【问题描述】:

应用程序简介:该应用程序解析 html 文档并将其作为 Web 视图加载到应用程序中。

在 iOS 应用中,我喜欢显示 PDF 文件。有一个结构 XML 将包含整个结构。

案例 1:对于一个简单的 PDF 文件,它在 structure.xml 中应该如下所示

<node id="Nc13d37aa" node_id="82cd790d-e5f0-4ee6-a26c-a6e400af8541" type="publication" default="TEST_Pub" secured="false">
                <language name="en-GB" path="X-BIKE-401/en-GB/publications/TEST_Pub-003.00.pdf">
                  <title>(Test-)Publication</title>
                </language>
              </node>

情况 2: 在更复杂的情况下,一份出版物可能包含所谓的 ATI(附加技术信息),如下所示:

<node id="Nd747c4dc" node_id="b4528fb8-c615-4b96-945d-a5af009325f2" type="publication" default="TEST_Pub_ATI" secured="false">
                <language name="en-GB" path="X-BIKE-401/en-GB/publications/TEST_Pub_ATI-003.00.pdf">
                  <title>(Test-)Publication with ATI</title>
                  <atis>
                    <ati id="ati584a41ee" internal_id="af720ef4-5238-4fb4-ba8b-a5ae00debfae" code="Test_ATI" type="Service Letter" required="false" issuecode="Test_ATI_03" issuenumber="3" revisionnumber="0" href="X-BIKE-401\en-GB\ati\Test_ATI-003.00.pdf">(Test-)ATI</ati>
                  </atis>
                </language>
              </node>

这里的想法是,我们在旧版出版物中附带额外的旧版文档。这里的想法是,我们显示正常的遗留出版物,但在视图中有一个额外的区域,指示用户存在 ATI,以及让他查看 ATI 的方式 - 但也可以返回原始版本出版物。 ATI 通常是一些信息

案例 3: 还有一种情况是,一个或多个 ATI 是强制性的。 这意味着,用户需要先阅读并确认这些内容,然后才能阅读实际出版物。这将是这样的:

<node id="N5a3c00f" node_id="09fe8d7b-a95d-4da8-bf06-a5af00933ddc" type="publication" default="TEST_Pub_mATI" secured="false">
                <language name="en-GB" path="X-BIKE-401/en-GB/publications/TEST_Pub_mATI-003.00.pdf">
                  <title>(Test-)Publication with MANDATORY ATI</title>
                  <atis>
                    <ati id="ati35c8ee0e" internal_id="60dfaa70-f017-44ea-9190-a5ae00df2494" code="Test_ATI_MAND1" type="Service Bulletin" required="true" issuecode="Test_mATI_03" issuenumber="3" revisionnumber="0" href="X-BIKE-401\en-GB\ati\Test_ATI_MAND1-003.00.pdf">(Test-)ATI1 (MANDATORY)</ati>
                    <ati id="atic771b1b6" internal_id="d1cffa4b-b1be-4bbb-8dc0-a743010cf246" code="Test_ATI_MAND2" type="Service Bulletin" required="true" issuecode="Test_mATI2_01" issuenumber="1" revisionnumber="0" href="X-BIKE-401\en-GB\ati\Test_ATI_MAND2-001.00.pdf">(Test-)ATI2 (MANDATORY)</ati>
                  </atis>
                </language>
              </node>

您可以看到,两个都将@required 设置为“true”。 在这种情况下,我们需要首先显示第一个 ATI,请求用户在某个地方“确认”他阅读了它。移动到下一个所需的 ATI 并符合此要求。一旦他确认了所有的 ATI,他就可以查看出版物本身。 他仍然需要能够重新打开 ATI(类似于前一点)并再次查找它们 - 无需再次确认。 发布关闭后,用户需要再次确认。

问题: 对于案例 2 和 3,这可能是什么样的?它的模型会怎样? 理想情况下,是在 UI 和 UX 方面最好的建议解决方案。

【问题讨论】:

    标签: ios user-interface webview user-experience


    【解决方案1】:

    我可以这样建议你,它可能会解决你的问题:

    案例 1:

    只需取一个 UIWebView 并显示 PDF url 链接,WebView 就会完美呈现它。

    案例 2:

    在案例 2 中,您首先显示案例 1,在该案例 1 中,您显示简单的 PDF 并通过呈现 Web 视图来显示它,但是此 PDF 包含称为 ATI 的额外信息,我们需要以某种方式在 Web 视图上显示它。因此,例如一个按钮,当您单击它时,它可能会在弹出窗口中显示额外信息,然后应该有一个返回原始 PDF 的导航

    案例 3:

    使用一些 Image Flipper 库来显示多个 pdf 文档,您可以在其中显示某种信息以确认用户有多个文档可供导航。

    对于 Flipper,请关注此库:https://cocoapods.org/pods/DJKFlipper

    谢谢。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-06-15
      • 1970-01-01
      • 1970-01-01
      • 2019-02-08
      • 2016-03-24
      • 2014-06-07
      • 1970-01-01
      相关资源
      最近更新 更多