2017-09-30 3 views
-1

私は、TabbarControllerによってアクセスされる2つのView Controllerと、両方のメインView Controllerからのshow detail segueを持つ1つのサブビューを持っています。最初の/イントロビューコントローラには青(デフォルト)のbarbuttonitemテキストがあります。最初の/イントロコントローラからすぐにサブビューに移動すると、barbuttonitemテキストは青色(デフォルト)のままです。しかし、2番目のviewcontrollerに行くと、黒いbarbuttonitemテキストが表示されます。次に、最初のView Controllerに戻り、次にサブビューに戻ると、青(デフォルト)だったテキストが黒になります。1つのviewcontrollerでBarbuttonitemの色合いを変更することはできません

enter image description here

私はこのようなすべてのviewcontorllersののviewDidLoadで成功することなく、色合い色を設定しようとしている:私はここから行くことができ

self.navigationController?.navigationBar.barTintColor = nil 
self.navigationController?.navigationBar.tintColor = nil 

を?

+0

正しいバーボタンを黒のどこかに設定していないことは確かですか? – Shades

+0

私は昨日2時間以上、すべてのView Controllerをスキャンして何かを見つけることができなかった。私はストーリーボードを見て、何とかそこに設定されているかどうかを確認しましたが、運はありません。本当にここで私の頭を傷つける。 – Coltuxumab

答えて

-1

これは奇妙なものです...

は私の最初のビューコントローラ(上記のイントロビュー)で、私は検索バーのための「キャンセル」のテキストの色を調整するためのviewDidLoadの下に次のコードを持っていた:

デバッグにこれは困難なもの
let cancelButtonAttributes: NSDictionary = [NSForegroundColorAttributeName: UIColor.black] 
UIBarButtonItem.appearance().setTitleTextAttributes(cancelButtonAttributes as? [String : AnyObject], for: UIControlState.normal) 

要因:

  1. このコードは、このコード
  2. を壊れたものはキャンセルボタンを調整するのではなく、正常に動作しているように見えた1つのビューコントローラにありましたのearchバーは、実際のナビゲーションコントローラとは関係がないように思われる。詳しく調べると、コードは実際にはUIBarButtonItemの外観を調整しています。
関連する問題