应用程序简介:该应用程序解析 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 方面最好。
我可以这样建议你,它可能会解决你的问题:
情况1 :
只需获取一个 UIWebView 并显示 PDF url 链接,WebView 就会完美呈现它。
案例2:
在情况 2 中,您首先显示情况 1,其中显示简单的 PDF 并通过呈现 Web 视图来显示它,但是此 PDF 具有称为 ATI 的额外信息,我们需要以某种方式在 Web 视图上显示它。因此,例如一个按钮,当您单击它时,它会在弹出窗口中显示额外信息,然后应该导航回原始 PDF
案例3:
使用一些 Image Flipper 库来显示多个 pdf 文档,您可以在其中显示某种信息以确认用户有多个文档可供导航。
对于 Flipper,请遵循此库:https : //cocoapods.org/pods/DJKFlipper
谢谢。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句