我使用以下代码从以下页面进入评分页面,如果您在顶部查看,则使用以下代码自定义后退箭头
箭头代码-我也将其放入viewDidLoad
override func viewWillAppear(_ animated: Bool) {
let backImage = UIImage(named: "back")
navigationController?.navigationBar.backIndicatorImage = backImage
navigationController?.navigationBar.backIndicatorTransitionMaskImage = backImage
navigationController?.navigationBar.topItem?.backBarButtonItem = UIBarButtonItem(title: "", style: .plain, target: self, action: #selector(backButtonHandler))
@objc func backButtonHandler() {
_ = self.navigationController?.popToRootViewController(animated: false)
}
//----
}
//要导航的代码
cell.rateButton.addTarget(self, action: #selector(gotoRatings), for: .touchUpInside)
@objc func gotoRatings() {
rateDetailView.restaurant = restaurant
navigationController?.pushViewController(rateDetailView, animated: true)
}
现在,出现我在@DonMag的帮助下完成的评级页面,当我选择一个评级并返回到详细信息页面以显示评级表情符号时,自定义后退按钮消失,默认<- back
出现把我带回到评分页面而不是主页..
我如何选择评分并转到下面的详细页面代码-
@objc func addRatings(_ sender: UIButton) {
let detailReturn = DetailViewController()
if let rating = sender.titleLabel?.text {
self.restaurant.rating = rating
if let appDelegat = (UIApplication.shared.delegate as? AppDelegate) {
appDelegat.saveContext()
}
}
detailReturn.restaurant = restaurant
self.navigationController?.pushViewController(detailReturn, animated: false)
// navigationController?.popToViewController(detailReturn, animated: true)
}
那我该怎么做以确保我没有得到这个默认的后退按钮,这使我陷入了详细信息和评级页面之间的循环中,但却将我带到如下所示的根屏幕
我尝试过
_ = navigationController?.popViewController(animated: true)
但是一旦我对其进行测试,什么都不会真正起作用