在導(dǎo)航跳轉(zhuǎn)后進(jìn)入的次級(jí)界面中,系統(tǒng)導(dǎo)航提供默認(rèn)的返回按鈕,點(diǎn)擊可返回上級(jí)界面,且支持側(cè)滑返回?
但在開(kāi)發(fā)的過(guò)程中,系統(tǒng)導(dǎo)航提供的默認(rèn)返回按鈕,往往不是你想要的, 如果你修改了 leftBarButtonItem 那么系統(tǒng)自帶的點(diǎn)擊返回和側(cè)滑返回功能就不可以用了
所以你需要在所有視圖控制器的基類中添加點(diǎn)擊返回函數(shù),并將 leftBarButtonItem 連線
@IBAction func navBackAction(sender: AnyObject) {
self.navigationController?.popViewControllerAnimated(true)
}
你還需要給要求擁有側(cè)滑返回功能的導(dǎo)航設(shè)置代理,并實(shí)現(xiàn)相應(yīng)代理方法(建議主界面導(dǎo)航統(tǒng)寫(xiě)在 TabbarController )
navCtrl.interactivePopGestureRecognizer?.delegate = self
// MARK: - UIGestureRecognizerDelegate
func gestureRecognizerShouldBegin(gestureRecognizer: UIGestureRecognizer) -> Bool {
let curView = self.selectedViewController
if curView?.childViewControllers.count > 1 {
//不做控制,則會(huì)造成界面卡死
return true
}
return false
}
期待你的評(píng)論建議O(∩_∩)O~