Swift - SWRevealViewController Left BarButtonItem 在导航后不工作
Swift - SWRevealViewController Left BarButtonItem not working after navigation
我已经在我的项目中成功实现了 SWRevealViewController。侧边菜单是一个 UITableView,带有不同的单元格,可以导航到不同的视图控制器。当我点击 'profile' 单元格时,它默认为 LoginViewController,用户将在那里登录,一旦通过验证,将转到 ProfileViewController。这导致了我的问题,当我导航到 ProfileViewController 时,导航栏按钮(左侧)无法正常工作。同样,当我按下注销按钮(右侧导航栏按钮)时,它确实导航回 LoginViewController,但是,菜单按钮不起作用。
我的导航功能如下:
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
}
我的故事板如下:
如果您能提供任何帮助,我们将不胜感激。谢谢大家!
干杯
您的问题有点难以回答,但也许这会有所帮助。为了让 SWReveal View Controller 工作,您总是必须路由到主 SWReveal Controller Scene 才能使菜单按钮工作。例如,如果我的故事板看起来像
SWRevealViewController 场景 --> 导航控制器场景 --> 主视图
然后我返回到导航控制器场景,按钮不起作用。您必须返回到导航之前出现的 SWRevealController 场景的第一个实例/您尝试到达的任何其他场景。
如果您需要添加另一个 SWRevealViewController Scene 实例来使其工作,只需通过 sw_front
标识符转至您需要按钮在其中工作的导航控制器/视图控制器,然后将其转入sw_rear
标识符回到菜单的同一个实例。
抱歉,如果这个答案令人困惑,请告诉我是否可以澄清任何问题。
我已经在我的项目中成功实现了 SWRevealViewController。侧边菜单是一个 UITableView,带有不同的单元格,可以导航到不同的视图控制器。当我点击 'profile' 单元格时,它默认为 LoginViewController,用户将在那里登录,一旦通过验证,将转到 ProfileViewController。这导致了我的问题,当我导航到 ProfileViewController 时,导航栏按钮(左侧)无法正常工作。同样,当我按下注销按钮(右侧导航栏按钮)时,它确实导航回 LoginViewController,但是,菜单按钮不起作用。
我的导航功能如下:
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
}
我的故事板如下:
如果您能提供任何帮助,我们将不胜感激。谢谢大家!
干杯
您的问题有点难以回答,但也许这会有所帮助。为了让 SWReveal View Controller 工作,您总是必须路由到主 SWReveal Controller Scene 才能使菜单按钮工作。例如,如果我的故事板看起来像
SWRevealViewController 场景 --> 导航控制器场景 --> 主视图
然后我返回到导航控制器场景,按钮不起作用。您必须返回到导航之前出现的 SWRevealController 场景的第一个实例/您尝试到达的任何其他场景。
如果您需要添加另一个 SWRevealViewController Scene 实例来使其工作,只需通过 sw_front
标识符转至您需要按钮在其中工作的导航控制器/视图控制器,然后将其转入sw_rear
标识符回到菜单的同一个实例。
抱歉,如果这个答案令人困惑,请告诉我是否可以澄清任何问题。