如何使SWRevealViewController成为swift中另一个控制器的子代

时间:2015-09-07 18:54:22

标签: ios iphone swift uitabbarcontroller swrevealviewcontroller

嗨,我有一个问题,我试图通过阅读文档解决它,但我不能。

我希望标签栏控制器成为初始VC而不是SWRevealViewController。

问题是应用程序旁边的滑出菜单不是第一个vc。 那么如何在那里建立SWRC的问题呢?

enter image description here

1 个答案:

答案 0 :(得分:4)

为什么不能将您的显示视图控制器作为导航队列中的最后一个控制器移动,并使用带有“项目”菜单的控制器作为Sw_front?它应该工作。

作为替代方案,您可以从Storyboard中删除整个显示视图控制器,并从导航队列中的第一个视图控制器手动创建它。然后推。

SWRevealViewController有一个名为initWithRearViewController:frontViewController的方法,您可以从Storyboard中获取带有instantiateViewControllerWithIdentifier的Sw_rear和Sw_front视图控制器。

然后,在将项目菜单(手动)添加到导航栏时,您将revealToggle:指定为action,将SWRevealViewController实例指定为target

此方法有一些变体,您可以将SWRevealViewController放在故事板中的导航控制器之前,并将导航控制器指定为Sw_front。然后,您不需要手动实例化SWRevealViewController,而只需要“项目”菜单。

这可能对导航队列中的中间视图控制器的removeGestureRecognizers上的显示视图控制器中的viewWillAppear有用,然后在{{1}上添加回panGestureRecognizertapGestureRecognizer使用“Item”菜单的视图控制器。

<强>更新

Here是在Swift中使用带Tabbar的SWRevealViewController的示例项目。

我刚刚从http://www.appcoda.com/sidebar-menu-swift/获取了示例项目并进行了一些调整。

我不喜欢将SWRevealViewController与Storyboard一起使用,每个要显示的新ViewController都有自己的导航控制器,但如果它适合你,你可以保留它。