如何在每个视图控制器的滑动中显示的窗口中添加视图?

时间:2015-10-20 11:17:03

标签: swift io uiwindow

我有一些场景,比如我有许多带导航控制器的视图控制器,这个导航控制器是窗口的根视图。现在无论屏幕上哪个视图控制器在屏幕上,我都会滑动,然后一个视图会显示一些选项。那么应该采用什么方法来开发呢?那么我可以这样做导航控制器作为窗口的根视图并在窗口中添加1个视图并在窗口中添加滑动手势吗?因此,当向左滑动时,将显示添加在窗口中的视图,并且在单击任何选项时,我的新视图控制器将被推送?

2 个答案:

答案 0 :(得分:0)

我不确定我是否按照你的意愿行事,但让我们看看我能想到什么。为简单起见,您应该使用故事板。您应该将导航控制器拖出右侧视图。您应该选择此控制器并进入属性标签,并在“视图控制器”部分中有一个“是初始视图控制器”复选框。选择它,ios会自动将其作为窗口的根视图控制器。从这里你应该为导航控制器创建一个子类。称之为“应用程序导航控制器”或“主导航控制器”,并覆盖“viewdidload”。由于这是根视图控制器,并且您从未计划更改根,因此只应调用“viewdidload”一次。从该功能,您应该分配2个滑动手势。一个用于右边,另一个用于左边。

应该注意将导航控制器设置为根并设置向左和向右滑动。现在,如果您想在导航控制器中使用视图,则必须进入故事板并将View Controller对象添加到屏幕。完成后,右键单击导航控制器并将其拖动到新添加的viewController上。释放鼠标按钮应弹出,您可以选择“根视图控制器”,这是导航控制器的根目录。在这里添加你的观点,你的解释听起来像你想要一个tableview。

从您的问题来看,很难确定您的具体目标。好像你想要一个由导航控制器控制的标准视图控制器堆栈。有侧面菜单。如果是这种情况,那么您将不得不使用第三方库,因为苹果不提供侧面菜单小部件。然后事情变得更复杂,应用程序的根应该只是一个具有2个容器视图的视图控制器,然后将视图控制器添加到这些容器中。主容器将容纳上面解释的导航控制器。另一个容器,也就是侧面菜单,将在视图控制器中保存一个tableview。在故事板中,您只需右侧容器视图并在所需的视图控制器上拖动/释放,然后选择“视图控制器”选项。您必须设置自动布局并在滑动时设置约束动画。

我可以继续一段时间,但也许你可以利用这些知识来完成你想要的东西。

答案 1 :(得分:0)

在每个要显示swipeVC的VC上添加滑动手势,在滑动动作函数调用presentViewController中,它将在导航堆栈外显示视图控制器。

当您完成此VC时,请调用presentsViewController.dismissViewController并准备让segue返回到呈现的vc,获取导航控制器并要求它在堆栈中显示下一个vc。