在ios的谷歌地图应用中。当您选择设置按钮时,它将显示选项视图,例如“交通”,“公共交通”等。
我的问题是如何在ios上完成。
我尝试了this教程,但它说它不适用于uinavigationviewcrollers。我已经在使用导航控制器的应用程序中看到了视图的这种局部视图。他们是如何创造的?
答案 0 :(得分:2)
这不是局部的。它根本不是一个segue,它使用了包容视图控制器。
而不是单个视图控制器转换到不同的视图控制器图像一个主视图控制器。为简单起见,我们说这个视图控制器有两个视图(根),两个视图都覆盖整个屏幕。对于这个例子,我们将它们视为" main"查看和"菜单"视图。
除了这两个空视图外,视图控制器没有内容。这是因为这个视图控制器除了管理陷入两个视图的其他视图控制器之外什么都不做。它将有几种方法来管理它们,例如presentInMainView:(UIViewController *)viewcontroller
和presentInMenuView:(UIViewController *)viewcontroller
当程序开始运行时,主视图控制器将以编程方式将地图添加到其中" main"视图。地图视图控制器现在覆盖整个屏幕,其外观和行为就像它是顶级视图控制器,但它不是。它包含在内。在某些时候,一些人点击设置按钮,地图视图控制器将调用它的父母并说出presentInMenuView:...
,然后主视图控制器将第二个视图控制器加载到菜单视图中。菜单视图甚至可以位于屏幕的左侧,主视图控制器将菜单视图框架设置为动画,使其侧面覆盖整个屏幕。假设菜单视图控制器只有覆盖屏幕左半部分的内容,您将看到隐藏在其后面的地图视图控制器。
这实际上只是表面上的划痕,可以使用容器视图控制器完成很多操作。您可以创建一个容器,它可以显示所有填充了视图不同视图控制器的十几个不同视图。您可以在整个屏幕上调整大小并进行排列,每个子视图控制器仍然只需要处理它自己的内容。
有关详细信息,请the Apple Developer Guide和WWDC 2011 Videos介绍它(会话102)
答案 1 :(得分:0)
我使用SWRevealViewController用于相似类型的侧边栏动画。他们给出了如何使用 SWRevealViewController 的好例子,请尝试一次。