PushViewController&设置导航栏颜色和标题

时间:2015-12-17 21:28:50

标签: ios swift uinavigationcontroller pushviewcontroller

我在一个按钮中做了一个推送功能:

@IBAction func prodButton(sender: AnyObject) {

    let storyboard = UIStoryboard(name: "Main", bundle: nil)

    var secondViewController = CollectionViewController()

    secondViewController = storyboard.instantiateViewControllerWithIdentifier("CollectionViewController") as! CollectionViewController

    self.navigationController?.pushViewController(secondViewController, animated: true)
}

此按钮推送到secondViewController,但当我查看第二个视图控制器的导航栏时,我注意到它已自动设置了一个后退按钮。问题是这个后退按钮的颜色是浅蓝色,它不符合我的设计。我尝试在viewDidAppear

中更改它

self.navigationItem.leftBarButtonItem?.tintColor = UIColor.redColor()

以及条形颜色:

self.navigationController?.navigationBar.barTintColor = UIColor(red: 65, green: 61, blue: 116, alpha: 1.0)

但没有任何改变。

如果有人帮助我,我真的很感激。

提前致谢。

3 个答案:

答案 0 :(得分:0)

尝试将颜色设置一次,在以下任何地方都将使用相同的颜色:

let navBar = UINavigationBar.appearance()
navBar.tintColor = UIColor.redColor()

您应该将此代码放在AppDelegate中。如果您使用它,也可以在Storyboard中设置barTint。

答案 1 :(得分:0)

使用

   //Func Alter color navigation bar
   func AlteraCorNavigationBar(Navigation:UINavigationController){
       Navigation.navigationBar.tintColor = CorTextoNavigationBar()
       //Navigation.navigationBar.barTintColor = CorPredominante()
       Navigation.navigationBar.titleTextAttributes = [NSForegroundColorAttributeName : CorTextoNavigationBar(), NSFontAttributeName : UIFont(name: "ArialHebrew-Light", size: 22)!]
   }


   //func CorPredominante()->UIColor{
       //return UIColor.redColor()
       //(rgba: "#ecf0f1")
       // YOU CAN LIBRARY COLOR RGBA [HERE][1] AND USE UIColor(rgba: "#b6011a")
   //}


   func CorTextoNavigationBar()->UIColor{
       return UIColor(red: 65, green: 61, blue: 116, alpha: 1.0) 
   }

用于在视图控制器中调用:

class NewViewController: UIViewController {

      override func viewDidLoad() {
          super.viewDidLoad()

          AlteraCorNavigationBar(navigationController)
      }

}

答案 2 :(得分:0)

我发现了错误。 颜色应分为255:

UINavigationBar.appearance().tintColor = UIColor(red: 149.0 / 255.0, green: 148.0 / 255.0, blue: 192.0 / 255.0, alpha: 0.5)

UINavigationBar.appearance().barTintColor = UIColor(red: 65.0 / 255.0, green: 61.0 / 255.0, blue: 116.0 / 255.0, alpha: 1.0)

谢谢大家的帮助;)