在Swift 4中创建嵌套的分层导航

埃里克·雷诺兹

我有一个正在使用的应用程序,要求用户浏览该应用程序的根文件夹中存储的文件。我想使用一种类似于iOS上的设置工具的导航样式,其中有一个项目列表,然后单击一个项目,然后使用后退按钮弹出另一个项目列表,以此类推,直到结束为止。

我似乎无法在递归的情况下找到任何有关如何执行此操作的示例。

导航应如下所示:

- Learning Swift
  - Monday
    - How to read files
      - material1.pdf
      - material2.pdf
  - Tuesday
    - Using UI Controllers
      - material3.pdf
- PHP
  - Thursday
    - material4.csv
    - material5.pdf
- Ruby
  - Saturday
    - Using Models
      - Help Materials
        - material6.pdf
      - Code Samples
        - config.rb
        - controller.rb
      - material7.pdf

等等

没有设置的文件夹结构,因此我需要能够动态生成。每当用户访问应用程序的这一部分时,我将从设备上的应用程序存储目录中读取文件夹结构。

谢谢

马特

您可以像“设置”应用程序,“文件”应用程序,“电话”应用程序以及将导航推入层次结构的任何其他应用程序一样进行操作。

您有一个UINavigationController,该UINavigationController的根视图控制器显示一个表视图,您在其中列出了导航目录中的文件夹用户通过点击选择一个,然后创建另一个视图控制器,该控制器显示一个表视图,在其中列出该文件夹中的文件/文件夹,然后到导航控制器上,依此类推。因此,侧向总是较深一级(或使用“后退”按钮较浅)。在用户点按之前,您不会创建和填充下一级别的内容,此时,您只需要提取所需的信息(此文件夹中的内容)并显示它即可。

另一个选择是将有关文件夹的整个层次结构显示为轮廓,即带有缩进的单个滚动表视图。在iOS 14中,您甚至可以拥有一个轮廓,其外观类似于Finder中的列表视图,用户可以在列表中的位置打开这些文件夹。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章