Swift使动画看起来像没有One的新ViewController

时间:2017-09-24 21:11:37

标签: ios swift xcode

我想创建一个小的侧面功能来显示服务器的文件,这样一个小的FileExplorer。

我有一个TableViewController(包括NavigationController),我在其中显示当前目录的所有文件。 如果我点击文件夹,我打算转到子文件夹并查看其内容。

我的问题是我无法创建另一个TableViewController,因为我不知道我需要多少,可能是百,因为我不知道服务器上有多少子文件夹。

有没有人知道如何制作一种动画,所以它看起来像一个新的ViewController(包括后退按钮!),只需在制作动画时用新数据重新加载TableView?

我的故事板看起来像这样: enter image description here

文件和文件夹显示在中间场景中,如下所示: enter image description here

2 个答案:

答案 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)
}