2016-12-22 11 views
0

私はTemplate Imageにアイコンのレンダリングモードに設定してからUIImageView tintColorの色が画像全体

iconView.tintColor = .blue 

問題を呼び出すことによって、色を設定することにより、タップした後UICollectionViewCell内部UIImageViewのtintColorを変更しようとしました:これは、透明でない部分を変更するのではなく、選択した色でイメージ全体を塗りつぶします。

この方法は以前私のために働いていましたが、問題を把握することができません。私はアイコンが透明なものの代わりに白い背景を持っているかもしれないと仮定しましたが、そうではありません。たぶんそれはがUICollectionViewCellの中にあることと関係があるでしょうか?

ヘルプは高く評価されます!

+0

これを使用して、 'iconView.tintColor = UIColor.blue' –

+0

一度、imageviewのそのプロパティのapple documetationをチェックします。tintColorがnil以外の場合、画像ビューで設定されたテンプレート画像はその色で色付けされます。 –

+0

タップ後にiconView.backgroundColorを変更するだけですか?透明な部分だけの色が変わります –

答えて

1

は、次のコードは、唯一の非透明領域を色付けします。この

imageViewHome.image = UIImage.init(named: "yourImageName")?.withRenderingMode(.alwaysTemplate) 

imageView.tintColor = .blue 
+0

これは私のソリューションとはどう違うのですか? – CAAnimationDelegate

+0

はあなたのためにこの作品ですか? –

+0

いいえ、これは私が使ったのと全く同じ方法ですから。違いは、アセットカタログに設定している間にコードで設定する点だけです。 – CAAnimationDelegate

-1

を試してみてください。

yourImage.image = yourImage.image!.imageWithRenderingMode(UIImageRenderingMode.AlwaysTemplate) 
yourImage.tintColor = UIColor.redColor() 

ハッピーコーディング。

関連する問題