2016-08-18 4 views
4

を強調していないためタブバーにカスタムアイコンを設定に)。ここでは、現在選択されていないタブのアウトラインアイコンと、現在選択されているタブのアイコンを使用します。これをやり遂げるにはどうすればいいですか?1、すなわちちょうどアウトラインを強調していない表現、および表す1つは、すなわち、すべての塗りつぶし強調表示(各タブのために、私は私が私のタブバーに使用する私の資産のアイコン、2を持って強調表示/

答えて

1

ただ、例えば、あなたのTabBarのクラスを作る:

class MainTabBarController: UITabBarController { 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     for item in self.tabBar.items! as [UITabBarItem] { 

     // loop through all of your elements in TabBar 

     if let image = item.image { 

      item.selectedImage = your Selected Image 
      item.image = your base Image 

     } 
    } 


} 

あなたが好き、UIImageを含む配列で、すべての画像を保存することができます:

let TabImages = [UIImage]() 
let HighlightedImages = [UIImage]() 

そして、あなたのためにそれらを設定します各ループ。

+0

すごいです!今まで美しく仕事をしているようだ。ループの中の 'もし'の目的は何ですか? –

+0

画像があるかどうかを確認する。 item.image!= nilの(しかし、この場合には、!= nilの場合は、画像変数はitem.imageの値を保持します。あなたが、その場合には、それはあなたが変換したい場合にのみであることを必要といけないかのようにその同じ既存のTabBarのイメージ – derdida

1
var tabBarController = self.window!.rootViewController as UITabBarController 
let tabItems = tabBarController.tabBar.items as [UITabBarItem] 
tabItems[2].selectedImage = UIImage(named: "tabImage1_Selected") 
+1

こんにちはフランク;あなたのコードが正しいかもしれませんが、いくつかの文脈でそれがより良い答えになるだろう。たとえば、あなたが説明できるどのように、なぜこの提案された変更は、おそらくへのリンクを含め、質問者の問題を解決します関連するドキュメントを作成することで、より便利になり、同様の問題の解決策を探している他のサイトの読者にとっても便利です。 –

関連する問題