[英]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.