2016-04-24 10 views
0

xcodeプロジェクトでassets.xcassetsにカスタム画像を3倍追加しました。それは正常に表示されます。 次に、システムアイテムをカスタムとして選択し、選択したイメージをカスタムイメージとして選択して、Tab Bar Itemにiageを追加しました。また、カスタム画像を選択してアイテム画像を埋め込みます。xcode 7.3カスタム画像がストーリーボードでグレー表示

私のストーリーボードでは、画像アイコンはタブバーアイテムとバーアイテムの両方で完全にグレー表示されています。

透明画像サイズは75x75

にスケールとして画像をGimpの中で作成された誰かがこの問題を解決する方法を教えてもらえますか? iOS7後 aimage in assets.xcassets setting custom image on tab bar

+0

スクリーンショットおそらく役立つだろう。サイズクラスのものも含めて、Xcodeには「グレーアウト」されたものがたくさんあります。 –

答えて

1

:-)

幸運は、これは、画像のレンダリングモードによって引き起こされる、と述べました。あなたのTabBarに内のすべてのアイテムにレンダリングモードを適用する より良い方法は、あなたのTabBarController viewDidLoadメソッドでこのコードを配置するようになります。

for item in self.tabBar.items! { 
      item.image = item.image?.imageWithRenderingMode(.AlwaysOriginal) 
      item.selectedImage = item.selectedImage?.imageWithRenderingMode(.AlwaysOriginal) 
     } 
+0

私のタブバーコントローラは、初期ビューコントローラです。 TabBarController.swiftはありません。 ViewController.swift viewDidLoadメソッドにコードを追加しました。動作しません。 (self.tabBarController?.tabBar.items!)!{ item.image = item.image?.imageWithRenderingMode(.AlwaysOriginal) } – vrao

+0

UITabBarViewControllerを継承する新しいクラスを作成し、そのクラスをストーリーボードのtabbarcontroller – Gil

+0

ありがとうございます。はい、画像がタブバーに表示されます。しかし、私がバーアイテムを選択すると、青色がアイコン全体を覆い、アイコン内のテキストも青色で覆われるため、アイコン内にテキストは表示されません。テキストのような私のアイコンの内容が正しく作成されていないように見えます。アイコンの作成にどのような設定を使うべきか教えてください。 – vrao

0

、あなたはUIImageがimageWithRenderingModeで、現在のビューの色合いの色を使用してレンダリングするかどうかを設定することができます。

AlwaysOriginal

いつものようにそれを処理せずに、元の画像を描画テンプレート。

AlwaysTemplate

常にその色 情報を無視して、テンプレート画像として画像を描画します。

自動

画像を を使用されているコンテキストのモードをデフォルトのレンダリングを使用してください。

だから、あなたが望むものである:設定されたrenderingModeによって

self.barItem.image = UIImage(named: "yourImage")?.imageWithRenderingMode(.AlwaysOriginal) 

AlwaysOriginalに、UIImageは常に元の画像を描画し、テンプレートを適用しません。それから、あなたが望むものを手に入れることができます。 @luiyezheng同様

関連する問題