簡體   English   中英

后退按鈕顯示然后迅速消失

[英]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替換整個視圖。 我不確定要搜索或修改什么,因此它仍然可以顯示“后退”按鈕。

獎勵問題:想知道我是否將此代碼放在錯誤的部分。 在轉換到第二個視圖時,屏幕會暫時空白,然后將顯示視圖的內容。 這似乎不是最佳的用戶體驗。 在這里接受任何建議。

問題的模擬器視圖。

故事板視圖

在通過科學怪人的建議將present轉移給第一個 VC 之后將禮物移至第一個 vc 后

您無需進入第二個 controller 然后出現。 相反,直接present而不是show controller 將其保持為rootViewControllerUINavigationController 對動作執行此操作:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM