【问题标题】:How can I implement SWReveal for iOS navigation with back buttons如何使用后退按钮为 iOS 导航实现 SWReveal
【发布时间】:2016-04-10 09:16:09
【问题描述】:

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

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

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

这是截图

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

所以请帮帮我!

感谢您的回复!

【问题讨论】:

    标签: ios swift navigation sidebar swrevealviewcontroller


    【解决方案1】:

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

    可以尝试在别处添加后退按钮,然后尝试

    [self dismissViewControllerAnimated:YES completion:nil];
    

    【讨论】:

    • 感谢您的回复。我完全改变了逻辑,它的工作!当我点击一个菜单项时,我会在 HomeViewController 导航中推送一个视图。
    • @kopacabana 你能用你的解决方案创建一个答案吗?我的意思是,如何组织 viewControllers。
    • 嗨@JCarlos 我试图尽快给你更多信息,但我完全被淹没了。如果您没有关于我的信息,请给我发送新消息。谢谢
    【解决方案2】:

    我在 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)
    

    【讨论】:

    • 您能展示一下您的新故事板的屏幕截图吗?
    猜你喜欢
    • 2023-03-13
    • 1970-01-01
    • 2015-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-31
    • 2021-12-19
    • 1970-01-01
    相关资源
    最近更新 更多