2015-12-17 5 views
1

Я сделал нажимной функцию кнопки: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)

, но не было никаких изменений.

Я был бы очень благодарен, если кто-нибудь поможет мне в этом.

Заранее спасибо.

ответ

0

Попробуйте установить цвет один раз, он будет таким же цветом везде после:

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

Вы должны поместить этот код в AppDelegate. Вы также можете установить barTint в Storyboard, если вы его используете.

+0

Я пытался, но это не сработало. Спасибо за быстрый ответ. –

+0

Вы правильно устанавливаете эту строку в secondViewController? –

+0

Yep, in the viewDidAppear –

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) 
     } 

} 
+0

Я понятия не имею, почему, но когда я печатаю 'UIColor (красный: 65, зеленый: 61, синий: 116, alpha: 1.0)' цвет белый. Когда я говорю точный цвет 'UIColor.redColor()', он работает без каких-либо проблем. –

+0

Используйте это: navigationBar.tintColor = UIColor (красный: 65, зеленый: 61, синий: 116, alpha: 1.0) navigationBar.titleTextAttributes = [NSForegroundColorAttributeName: UIColor (красный: 65, зеленый: 61, синий: 116, alpha: 1.0), NSFontAttributeName: UIFont (имя: «ArialHebrew-Light», размер: 22)!] –

+0

Спасибо. Это изменяет только кнопку «Назад» на белый, полоса остается по умолчанию. Вы знаете, как я могу изменить текст кнопки с «Назад» на что-то еще? –

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) 

Спасибо всем за помощь;)

 Смежные вопросы

  • Нет связанных вопросов^_^