[英]Hide and show navigation bar for specific view without laggy animation
有沒有一種方法可以在一個視圖上顯示導航視圖,而不能在另一個視圖上同時顯示呢?
問題:我有兩個視圖控制器-表視圖和描述視圖(在單元格單擊時調用)。
表格有一個導航欄,而說明視圖-沒有它。
表格檢視:
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
self.navigationController?.isNavigationBarHidden = false
}
說明視圖控制器:
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.navigationController?.isNavigationBarHidden = true
}
一切正常,但是當我向后滑動半屏返回表格時(保持手指在屏幕上,同時觀看兩個視圖)-我看不到導航欄(該代碼可以按預期工作),而當我松開手指時-整個桌子視圖跳轉,因為顯示了導航欄。
有沒有一種方法可以保持在描述視圖中始終看不到導航欄,而在表格視圖中始終看到它?
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
self.navigationController?.setNavigationBarHidden(false, animated: true)
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.navigationController?.setNavigationBarHidden(true, animated: true)
}
您可以在進行搜索時隱藏導航欄(之前)。 如果您以編程方式進行操作:
yourVCToBePushed.navigationController?.isNavigationBarHidden = true
如果要在情節提要中執行此操作,請在prepareForSegue中進行類似的操作:
let yourVCToBePushed = segue.destination as! YourVCToBePushed (type)
yourVCToBePushed.navigationController?.isNavigationBarHidden = true
您也可以在tableView標頭中創建自己的“ navigationView”,然后在其中添加按鈕。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.