2016-07-26 62 views
0

我已成功将SWRevealViewController实现到我的项目中。侧面菜单是一个带有不同单元格的UITableView,可以导航到不同的视图控制器。当我点击'profile'单元格时,它默认为LoginViewController,用户将登录并验证后会进入ProfileViewController。这导致我的问题,当我导航到ProfileViewController的导航栏按钮(左侧)无法正常工作。同样,当我按下注销按钮(右侧导航栏按钮)时,它会回到LoginViewController,但是,菜单按钮不起作用。Swift - SWRevealViewController Left BarButtonItem导航后不工作

我的导航功能如下:

func switchVC() { //Navigates to the profileViewController 
    let storyboard = UIStoryboard.init(name: "Login", bundle: nil) 
    let nav = storyboard.instantiateViewControllerWithIdentifier("Profile") 
    UIApplication.sharedApplication().keyWindow?.rootViewController = nav 
} 

func switchBack() { //Navigates back to the LoginViewController 
    let storyboard = UIStoryboard.init(name: "Login", bundle: nil) 
    let nav = storyboard.instantiateViewControllerWithIdentifier("Login") 
    UIApplication.sharedApplication().keyWindow?.rootViewController = nav 
} 

我的故事板如下:Storyboard

任何帮助,您可以提供将不胜感激。谢谢大家!

干杯

回答

2

你的问题有点难以回答,但也许这会有所帮助。为了使SWReveal View Controller正常工作,您必须始终路由到主SWReveal控制器场景以使菜单按钮正常工作。例如,如果我的故事板看起来像

SWRevealViewController场景 - > Navigation Controller里的场景 - >主视图

和我回送到导航控制器场景,按钮​​是行不通的。您必须路由回到导航/您试图访问的任何其他场景之前的SWRevealController场景的第一个实例。

如果您需要添加SWRevealViewController场景的另一个实例,使这项工作,只是通过sw_front识别你所需要的按钮,在工作导航控制器/视图控制器Segue公司,然后通过sw_rear标识Segue公司回菜单的同一个实例。

对不起,如果这个答案很混乱,请让我知道,如果我可以澄清任何事情。

+0

谢谢你的回应,Mike!您的帖子对帮助我实现我所需的内容非常有帮助!随着你的解决方案,以及一些代码,我能够实现我正在寻找的东西。谢谢! –

+0

很高兴我能帮到你。我最近自己也遇到了同样的问题 –