Swift iOS-导航栏和右按钮图标未显示
我一直在寻找这个问题的答案,却找不到答案。编程确实不是我的事,但我打算在七月初左右学习 我在用故事板。我有一个NavVC,它有一个RedVC作为根,RedVC推送一个BlueVC。它们都是通过分段连接起来的。我在故事板中有一个PurpleVC,但它与任何东西都没有连接Swift iOS-导航栏和右按钮图标未显示,ios,uinavigationcontroller,uinavigationbar,programmatically-created,rightbarbuttonitem,Ios,Uinavigationcontroller,Uinavigationbar,Programmatically Created,Rightbarbuttonitem,我一直在寻找这个问题的答案,却找不到答案。编程确实不是我的事,但我打算在七月初左右学习 我在用故事板。我有一个NavVC,它有一个RedVC作为根,RedVC推送一个BlueVC。它们都是通过分段连接起来的。我在故事板中有一个PurpleVC,但它与任何东西都没有连接 NavVC->RedVC->BlueVC //segues PurpleVC //no segue 在我的BlueVC中,我有一个collectionView,当我按下一个单元格时,我想
NavVC->RedVC->BlueVC //segues
PurpleVC //no segue
在我的BlueVC中,我有一个collectionView,当我按下一个单元格时,我想以模式显示我正在成功使用的PurpleVC:
BlueVC:ViewController, CollectionViewControllerDele..., CollectionViewControllerData...{
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
let purpleVC = storyboard?.instantiateViewController(withIdentifier: "PurpleVC") as! PurpleVC
purpleVC.data = data[indexPath.row]
purpleVC.navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: .done, target: self, action: #selector(dismissVC))
navigationController?.present(purpleVC, animated: true, completion: nil)
}
@objc fileprivate func dismissVC(){
dismiss(animated: true, completion: nil)
}
}
问题是,当purpleVC以模式呈现时,我既没有导航栏
,也没有右按钮
。我尝试将它添加到collectionView的didSelectItemAt
中的PurpleVC的navigationItem
,但没有显示任何内容,因此我尝试将它添加到PurpleVC的viewDidLoad
中,但也没有显示任何内容
紫色C:
PurpleVC:UIViewController{
var data:SomeClass?
override func viewDidLoad() {
super.viewDidLoad()
navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: .done, target: self, action: #selector(dismissVC))
}
@objc fileprivate func dismissVC(){
dismiss(animated: true, completion: nil)
}
}
为什么我的
navigationBar
和RightBarButtonim
在以模式显示PurpleVC时不显示?在显示控制器时,它不会随导航栏和项目一起显示。
转到purpleVC故事板文件,手动添加导航栏和项目。
希望能有帮助 谢谢你的帮助!我使用了nav=UINavigationController(rootViewController:purpleVC)。这更容易