在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

etc

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

感谢

您可以像Settings应用程序、Files应用程序、Phone应用程序以及任何其他将导航向下推送到层次结构中的应用程序一样执行此操作。

您有一个UINavigationController,其根视图控制器显示一个表视图,您可以在其中列出导航处的文件夹。用户通过点击选择一个,然后创建另一个视图控制器,该控制器显示一个表视图,列出该文件夹中的文件/文件夹,并将其推到导航控制器上,以此类推,递归。因此,侧面总是更深一层(或者,使用"后退"按钮,更浅(。在用户点击之前,您不会创建和填充下一个级别,此时您只需拾取所需的信息(该文件夹中的内容(并显示它。

另一种选择是将有问题的文件夹的整个层次结构显示为大纲,即带有缩进的单个滚动表视图。在iOS 14中,你甚至可以在Finder中创建一个类似列表视图的大纲,用户可以在列表中旋转打开文件夹。

最新更新