2017-09-22 10 views
3

で白であるナビゲーションバーのタイトルラベルが白い背景を持っていますナビゲーションバーのタイトルの背景がiOSの11にいくつかの理由についてiOS11

navigation bar with white background for title

これは、通常のナビゲーションコントローラで、タイトルが設定されていますデフォルトの方法:この問題は、そうでない場合は、以前のiOSバージョンのため、唯一のiOS 11で起こっていると、スクリーンショットがシミュレータから取られた

self.title = @"My Title"; 

が、これは正常に動作します。

どのように私は通常のクリアな背景ラベルを持つことができますか、何らかの理由で出てくる白い背景を削除するための任意の提案?

答えて

2

タイトルテキストの属性を正しく設定しているかどうかを確認してください。ストーリーボードまたはプログラムでタイトルテキスト属性を設定できます。

enter image description here

かのViewControllerでStoryboard -> NavigationBar -> Go to attribute inspector -> Title Text Attributesを手動

スウィフト4それを設定してみてください選択:

  self.navigationController?.navigationBar.titleTextAttributes = [ 
      NSAttributedStringKey.foregroundColor: UIColor.white, 
      NSAttributedStringKey.font: UIFont.systemFont(ofSize: 17, weight: .bold) 
     ] 

スウィフト3:

 self.navigationController?.navigationBar.titleTextAttributes = [ 
      NSForegroundColorAttributeName: UIColor.white, 
      NSFontAttributeName: UIFont.systemFont(ofSize: 17, weight: .bold) 
     ] 
+0

これは私の場合の修正ではありませんでしたが、この答えを受け入れるために検索して問題を見つけるのに役立ちました。私は誰か他の人によって書かれたコードを修正していました。UINavigationBarカテゴリが使用されていましたが、前景と背景の両方を白に設定する以外はtitleTextAttributesを設定するコードがありましたので、背景をクリアにして、 –

+0

のおかげで、UINavigationControllerまたはNavigationBarの拡張機能に保存することをお勧めします。 backgroundColor属性をデフォルトとしてnilに設定する必要はないと思います。 https://developer.apple.com/documentation/foundation/nsattributedstringkey/1528791-backgroundcolor – suhit

関連する問題