需要帮助,因为我现在正在努力奋斗几天......
我有一个带有从viewDiDLoad调用的导航项的VC:
override func viewDidLoad() {
super.viewDidLoad()
self.customization()
self.fetchData()
}
...
func customization() {
self.navigationItem.title = self.currentUser?.displayName
self.navigationItem.setHidesBackButton(true, animated: false)
let icon = UIImage.init(named: "back")?.withRenderingMode(.alwaysTemplate)
let backButton = UIBarButtonItem.init(image: icon!, style: .plain, target: self, action: #selector(self.dismissSelf))
backButton.tintColor = UIColor(red: 0.0157, green: 0.498, blue: 0, alpha: 1.0)
self.navigationItem.leftBarButtonItem = backButton
self.locationManager.delegate = self
print("called customization()")
}
当使用触发的segue Show进行调用时,这种方法毫无问题。
当我使用以下内容调用VC时:
let storyBoard: UIStoryboard = UIStoryboard(name: "Storyboard", bundle: nil)
let viewController = storyBoard.instantiateViewController(withIdentifier: "SecondVC") as! SecondVC
self.present(viewController, animated: true, completion: nil)
我从控制台获得了访问viewDidLoad和customizations()的方法:
called customization()
但是navItem没有显示。
尝试从调用方法复制customization()中的方法,它们被执行但没有显示。
请知道这里有什么问题吗?
答案 0 :(得分:1)
您必须在演示时添加导航:
let storyBoard: UIStoryboard = UIStoryboard(name: "Storyboard", bundle: nil)
let viewController = storyBoard.instantiateViewController(withIdentifier: "SecondVC") as! SecondVC
let nav = UINavigationController(rootViewController: viewController)
self.present(nav, animated: true, completion: nil)