如何根据 UI 和 UX - iOS Swift 在 WebView 中显示 pdf
How to display pdf in a WebView in terms of UI and UX - iOS Swift
应用程序简介:该应用程序解析 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,请求用户在他阅读它的地方 "confirm"。移动到下一个要求的 ATI 并符合它。一旦他确认了所有 ATI,他就可以查看出版物本身。
他仍然需要能够重新打开 ATI(类似于上一点)并再次查找它们——无需再次确认。
用户需要再次确认,一旦发布关闭。
问题: 对于情况 2 和 3,这看起来会是什么样子?它的模型会怎样? 理想情况下,建议的解决方案在 UI 和 UX 方面最好。
我可以这样建议你,它可能会解决你的问题:
案例 1:
只需获取一个 UIWebView 并显示 PDF url link,然后 WebView 将完美呈现它。
案例 2:
在案例 2 中,您首先展示的是案例 1,在该案例中,您展示了简单的 PDF 并通过呈现 Web 视图来显示它,但是此 PDF 包含称为 ATI 的额外信息,我们需要以某种方式在 Web 视图上显示它。因此,例如一个按钮,当您单击它时,它可能会在弹出窗口中显示额外信息,然后应该有一个导航回到原始 PDF
案例 3:
使用一些 Image Flipper 库显示多个 pdf 文档,您可以在其中显示某种信息以确认用户有多个文档可供导航。
对于 Flipper,请遵循此库:https://cocoapods.org/pods/DJKFlipper
谢谢。
应用程序简介:该应用程序解析 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,请求用户在他阅读它的地方 "confirm"。移动到下一个要求的 ATI 并符合它。一旦他确认了所有 ATI,他就可以查看出版物本身。 他仍然需要能够重新打开 ATI(类似于上一点)并再次查找它们——无需再次确认。 用户需要再次确认,一旦发布关闭。
问题: 对于情况 2 和 3,这看起来会是什么样子?它的模型会怎样? 理想情况下,建议的解决方案在 UI 和 UX 方面最好。
我可以这样建议你,它可能会解决你的问题:
案例 1:
只需获取一个 UIWebView 并显示 PDF url link,然后 WebView 将完美呈现它。
案例 2:
在案例 2 中,您首先展示的是案例 1,在该案例中,您展示了简单的 PDF 并通过呈现 Web 视图来显示它,但是此 PDF 包含称为 ATI 的额外信息,我们需要以某种方式在 Web 视图上显示它。因此,例如一个按钮,当您单击它时,它可能会在弹出窗口中显示额外信息,然后应该有一个导航回到原始 PDF
案例 3:
使用一些 Image Flipper 库显示多个 pdf 文档,您可以在其中显示某种信息以确认用户有多个文档可供导航。
对于 Flipper,请遵循此库:https://cocoapods.org/pods/DJKFlipper
谢谢。