【问题标题】:InterativeSideMenu Library issue for IOS Navigation ControllerIOS 导航控制器的 InterativeSideMenu 库问题
【发布时间】:2018-01-04 08:11:32
【问题描述】:

我有一个带有一个导航控制器的项目,我也在使用 InteractiveSideMenu 库,可以在这里找到:https://github.com/handsomecode/InteractiveSideMenu。主要问题是,当我嵌入根视图控制器时,根据库的规范,我必须创建一个调用委托的类来显示根视图控制器的侧边菜单,如下所示: 类 NavigationViewController:UINavigationController,SideMenuItemContent { }

这将在主视图控制器像这样在 UIViewController 下的另一个类中声明之前启用 Sidemenu
类 ViewController:UIViewController、UITableViewDelegate、UITableViewDataSource{}

这里的主要问题是,我有一个导航栏按钮,我调用它来使用此 IBAction 显示侧边菜单:

@IBAction func sideMenuDisplay(_ sender: Any) {
    if let navigationViewController = self.navigationController as? SideMenuItemContent {
        navigationViewController.showSideMenu()
    }
}

但似乎 if 语句解析为 false,因此,在此 IBaction 上不会触发侧面菜单。我对 IOS 很陌生,发现很难解决这个问题。

【问题讨论】:

    标签: ios swift


    【解决方案1】:

    在您的故事板中,您需要将导航控制器的类设置为您的自定义“导航视图控制器”。

    位于“身份检查器”下方的右侧

    【讨论】:

    • 谢谢,我完全忽略了这一点,但即使添加了这个,if 语句仍然是错误的,并且按钮似乎不起作用。
    • 您必须对 UIViewController 执行相同的操作。当我测试它时它对我有用。
    • 谢谢,我尝试按照建议为 UIViewController 设置相同的类,但随后收到错误消息。澄清一下,您的意思是也为 UIView 控制器设置自定义“导航视图控制器”吗?当我这样做时,我收到错误:*** 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“不支持推送导航控制器”
    • 没有。我的意思是您需要将 UIViewController 的自定义类设置为您创建的 ViewController 类。从您的代码来看,类名似乎是“ViewController”,因此请将其设置为情节提要中的 UIViewController 类。
    • 感谢您的回复,当表格视图有多个部分时,我也遇到了问题,这是您以前遇到过的问题吗?我无法识别表格视图中的部分
    猜你喜欢
    • 1970-01-01
    • 2012-06-11
    • 1970-01-01
    • 1970-01-01
    • 2015-05-22
    • 1970-01-01
    相关资源
    最近更新 更多