我想创建一个小的侧面功能来显示服务器的文件,这样一个小的FileExplorer。
我有一个TableViewController(包括NavigationController),我在其中显示当前目录的所有文件。 如果我点击文件夹,我打算转到子文件夹并查看其内容。
我的问题是我无法创建另一个TableViewController,因为我不知道我需要多少,可能是百,因为我不知道服务器上有多少子文件夹。
有没有人知道如何制作一种动画,所以它看起来像一个新的ViewController(包括后退按钮!),只需在制作动画时用新数据重新加载TableView?
答案 0 :(得分:1)
在评论中你说“我正在使用如上所述的Navigationcontroller,但我正在尝试创建一个文件资源管理器,所以我需要在故事板上添加无限页面”。
您不需要在故事板中拥有无限页面。不要使用segues。当您准备深入到文件层次结构的另一个级别时,使用instantiateController(withIdentifier:)
创建视图控制器的新实例,将数据安装到其中,然后将其推送到导航控制器。
创建一个看起来像视图控制器推送的动画是没有意义的,但事实并非如此。您 DO 想要推送文件夹内容视图控制器的新实例。
答案 1 :(得分:1)
如果用户点击文件夹,您只需实例化一个新的DownloadsViewController
,设置其属性,使其从所选文件夹中显示,然后将该新实例推送到导航控制器上。
类似的东西:
if let newVc = self.storyboard?.instantiateViewController(withIdentifier: "files") as? DownloadViewController { // The identifier must match the Storyboard ID for the scene in your storyboard
newVC.rootFolder = selectedFolder // You haven't shown your code, but this will be the folder from the array driving your tableview
self.navigationController?.pushViewController(newVC, animated: true)
}