iOS-swift导航控制器没有正确的样式

时间:2016-05-02 22:20:53

标签: ios swift uinavigationcontroller

我的代码出现了以下问题:

在我的应用程序上我有一个navigationController,我相应地为我提供此功能的viewcontroller设置了样式:

func styleNavBar(barColor: String){

    let logo = UIImage(named: "logo-sura.pdf")
    let imageView = UIImageView(image:logo)
    self.navigationItem.titleView = imageView

    switch barColor {
    case "Dark":
        self.navigationController?.navigationBar.barTintColor = UIColor.blackColor()
        return
    case "Light":
        self.navigationController?.navigationBar.barTintColor = UIColor(netHex: 0x1CBBE1)
        return
    default:
        return
    }
}

它在底部viewcontrollers(通过segue呈现)上工作正常 - 我附加了一个图像 - Story board that shows teh viewcontroller flow但是在与tabBar关联的那个上它不会出现徽标或导航temtems。

任何我缺少的指针。

1 个答案:

答案 0 :(得分:0)

看到你的故事板后,我建议你做以下事情:

  1. 实例化您的标签栏控制器并显示它。

  2. 将每个tabbar子视图控制器嵌入导航控制器中。正如this answer

  3. 中所述

    您的故事板将如下所示:

    enter image description here

    显示标签栏控制器:

        @IBAction func buttonPressed(sender: AnyObject) {
    
            let storyboard = UIStoryboard(name: "Main", bundle: nil)
            let tabBarController = storyboard.instantiateViewControllerWithIdentifier("TabBarController") as! UITabBarController
            self.presentViewController(tabBarController,animated:true, completion:nil)
        }
    

    然后在你的孩子vc&#39>

        override func viewWillAppear(animated: Bool) {
        super.viewWillAppear(animated)
    
            let logo = UIImage(named: "logo")
            let imageView = UIImageView(image:logo)
            self.navigationItem.titleView = imageView
    
        }
    

    让我知道它是否适合你。