【发布时间】:2017-07-23 05:40:32
【问题描述】:
我在我的项目中使用 SWRevealViewController。
我的问题是我可以在第一次单击 SWRevealView 切换按钮,而在我从另一个视图控制器单击返回按钮并返回后,该按钮 不起作用到那个观点。
这是我的项目的屏幕截图。
我首先从服务视图控制器单击 NavigationLeft 按钮,然后显示左侧菜单。
之后,我从该视图控制器单击“Imageview”以转到下一页。
当我到达详细的下一页时,我单击“后退按钮”并转到服务视图控制器。
当时,我点击 RevealView Toggle 按钮,它不起作用。我收到错误致命错误:在展开可选值时意外发现 nil。
我的 Service View Controllers 代码是;
override func viewDidLoad() {
super.viewDidLoad()
if self.revealViewController() != nil {
debugPrint("Menu Click")
btnBack.target = self.revealViewController()
btnBack.action = #selector(SWRevealViewController.revealToggle(_:))
self.revealViewController().panGestureRecognizer()
}
else
{
debugPrint("nil")
btnBack.target = self.revealViewController()
btnBack.action = #selector(SWRevealViewController.revealToggle(_:))
// self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer())
self.revealViewController().panGestureRecognizer()
}
}
当项目第一次运行时,代码传递给“self.revealViewController() != nil”,然后我转到详细视图控制器并单击后退按钮。那时代码传递给“debugPrint(“nil”)”并且它没有显示菜单或工作。
详细视图控制器的代码是;
@IBAction func btnBack(_ sender: UIBarButtonItem) {
debugPrint("BtnBack")
self.dismiss(animated: true, completion:nil)
}
我的代码有问题还是逻辑有问题?自一周以来,我一直在尝试解决这个问题。请帮帮我..
【问题讨论】:
-
请同时发布您的菜单初始化代码。
-
我使用 SWRavealController 库。这是链接兄弟appcoda.com/sidebar-menu-swift。我在 viewDIdLoad 中声明了菜单代码。
-
我认为这是错误的。您必须在 AppDelegate 文件中使用菜单初始化代码来解决您的问题。查看此链接了解更多详情stackoverflow.com/questions/35363570/…
-
你有没有解决办法?
-
仍在解决兄弟@HardikShekhat
标签: swift3 back-button swrevealviewcontroller