Swift iOS-导航栏和右按钮图标未显示

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作为根,RedVC推送一个BlueVC。它们都是通过分段连接起来的。我在故事板中有一个PurpleVC,但它与任何东西都没有连接

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)。这更容易