[英]Back button shows then quickly disappears
問題:在顯示第二個視圖時,“后退”按鈕顯示然后迅速消失。
我希望后退按鈕保留在第二個視圖上。
設置: 2 個視圖。
打開第二個視圖的按鈕是通過“顯示”segue 完成的。
第二個VC:
override func viewDidAppear(_ animated: Bool) {
let controller = TipJarViewController<TipJarOptions>()
self.present(controller, animated: false, completion: nil)
}
這似乎是因為我如何做viewDidAppear
。 看來我正在用self.present
替換整個視圖。 我不確定要搜索或修改什么,因此它仍然可以顯示“后退”按鈕。
獎勵問題:想知道我是否將此代碼放在錯誤的部分。 在轉換到第二個視圖時,屏幕會暫時空白,然后將顯示視圖的內容。 這似乎不是最佳的用戶體驗。 在這里接受任何建議。
您無需進入第二個 controller 然后出現。 相反,直接present
而不是show
controller 將其保持為rootViewController
的UINavigationController
。 對動作執行此操作:
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
let controller = UINavigationController(rootViewController:
TipJarViewController<TipJarOptions>())
present(controller, animated: false, completion: nil)
}
編輯:要在TipJarViewController
添加返回按鈕,代碼如下:
override func viewDidLoad() {
super.viewDidLoad()
navigationItem.leftBarButtonItem = UIBarButtonItem(title: "Back", style: .plain, target: self, action: #selector(handleBack))
}
@objc func handleBack() {
dismiss(animated: true)
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.