如何使用后退按钮实现SWReveal for iOS导航

时间:2016-01-06 10:10:13

标签: ios swift navigation sidebar swrevealviewcontroller

我尝试使用 SWReveal 来管理iOS应用中的菜单和视图。 实施它没问题。

' sw_front' 视图控制器是该应用的主页。有4个按钮可以访问4个不同的屏幕。 ' sw_rear' 视图控制器是直接访问屏幕的菜单。

对于其他屏幕,我想要'后退按钮' 返回应用' sw_front' 的主页。当我从' sw_front'访问屏幕时,一切正常,我有一个后退按钮'。但是,当我从&#; sw_rear'访问屏幕时,我无法返回按钮'。我还希望当用户点按“后退”按钮时,他会自动返回“sw_front”' (app home)而不是' sw_rear'。

这是截图 SWReveal navigation between views

我怎样才能做到这一点?我没有找到信息或例子。

所以,请帮助我!

感谢您的回复!

2 个答案:

答案 0 :(得分:0)

从技术上讲,你不应该有后退按钮。当您单击sw_rear中的按钮时,它不会将视图控制器推到主视图的顶部。

可以尝试在其他位置添加后退按钮,然后尝试

[self dismissViewControllerAnimated:YES completion:nil];

答案 1 :(得分:0)

我在SWRevealViewController和NavigationViewController之间添加了一个新的ViewController。这个viewController以'sw_rear'的形式连接到SWRevealViewController。我从现有的NavigationController中删除了segue。

在这个新的ViewController中,我创建了我的NavigationController:

let storyboard = UIStoryboard(name: "Main", bundle: nil)
let navVC = storyboard.instantiateViewController(withIdentifier: "nav") as! UINavigationController
navVC.view.frame = CGRect(x: 0, y: 0, width: UIScreen.main.bounds.width, height: UIScreen.main.bounds.height)
self.view.addSubview(navVC.view)
self.addChildViewController(navVC)

现在我可以将屏幕添加到我的NavigationViewController

navVC.push(otherViewController)