Ios “怎么走?”;不带导航栏视图控制器“;至;带导航栏视图控制器“;迅速地

Ios “怎么走?”;不带导航栏视图控制器“;至;带导航栏视图控制器“;迅速地,ios,swift,storyboard,Ios,Swift,Storyboard,我有一个项目,它有许多视图控制器,例如StartViewController(有导航栏)。另外,processViewController和processViewController有许多视图,processViewController没有导航栏 processViewController具有关闭按钮和带有的操作 @IBAction func goStart(sender: UIButton) { let secondViewController = self.storyboard?.i

我有一个项目,它有许多
视图控制器
,例如
StartViewController
有导航栏)。另外,
processViewController
processViewController
有许多
视图
processViewController
没有导航栏

processViewController具有
关闭按钮
和带有的操作

@IBAction func goStart(sender: UIButton) {
    let secondViewController = self.storyboard?.instantiateViewControllerWithIdentifier("StartViewController") as! StartViewController
    self.navigationController?.pushViewController(secondViewController, animated: true)
}
当我推它的时候

navigationController!.navigationBar.barTintColor = UIColorFromRGBs(0x000000)
navigationController!.navigationBar.tintColor = UIColor.whiteColor();

let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 164, height: 38))
imageView.contentMode = .ScaleAspectFit
let image = UIImage(named: "logo")
imageView.image = image
navigationItem.titleView = imageView
这些行给出了错误


我怎样才能修好它?我如何才能从没有导航栏视图控制器的状态过渡到有导航栏视图控制器的状态?

这是因为您试图在类中获取
navigationController
navigationBar
,或
viewcontroller
,而导航控制器未嵌入其中。因此,您将获得
nil
作为
navigationbar
navigationController
,因此无法设置其属性,因为当前
viewcontroller
的属性为nil或不存在


在您的
viewcontroller
中管理这些东西,这些东西有导航控制器
嵌入

从没有导航栏的视图控制器到有导航栏的视图控制器的唯一方法是以模式显示它

因此,当您创建要显示在其父视图控制器中的视图控制器时,请将此目标控制器嵌入导航控制器中,然后显示包含目标视图控制器的导航控制器

斯威夫特3
哪条线是error@Anbu.Karthik导航控制器!。navigationBar.BartinColor=UIColorFromRGBs(0x000000)在此处bro@Anbu.Karthik在没有导航栏的情况下继续使用导航栏视图控制器,我想这是您声明的
UIColorFromRGBs
@Anbu.Karthik方法很好!您需要在
viewController
中设置导航栏的不同属性,它与
navigation controller
一起嵌入!!告诉我您在哪里设置
barTintColor
?你的问题也不太清楚你到底想要什么!!提供必要的信息,以便我能提供帮助!
let targetViewController = UIViewController() // this is that controller, that you want to be embedded in navigation controller
let targetNavigationController = UINavigationController(rootViewController: targetViewController)
        
self.present(targetNavigationController, animated: true, completion: nil)