2012-03-12 3 views
2

私のiPhoneアプリでは、サークルであるUIImageViewsが2つあります。 私はそのためにこのコードを使用:UIImageは透明な形をしています

manPic.layer.cornerRadius=manPic.frame.size.width/2; 
manPic.layer.masksToBounds=YES; 
womanPic.layer.cornerRadius=womanPic.frame.size.width/2; 
womanPic.layer.masksToBounds=YES; 

二つの円が重なったのいくつかの領域を持っている、と私は、この領域が唯一のユーザーは2枚の画像を一緒に見ることができるように半透明になりたいです。 この領域は正方形ではありません(これは、私たちが話しているサークルなのでかなり明白です)。

どうすればいいですか?

+0

あなたが唯一の重複領域が透明になりたいですか? – calimarkus

+0

はい。このエリアのみ。残りは正常でなければならない –

答えて

1

オーバーラップ領域のみを透明にしたい場合は、おそらくかなりのマスキングロジックを使用してcoregraphicsでイメージを描画する必要があります。

しかし、カスタム描画コードを必要としないアイデア(周囲の色の色が単一の単色である場合)。両方の画像をあなたの視点に置きます。オーバーラップ領域を「マスク」するために、画像の上に別の正方形サイズのビューを追加するよりも、そのビューのクリップを有効にする.clipsToBounds = YES 2つのイメージを再度そのビューに追加し、それぞれ.alpha0.5(または必要なもの)に設定します。

ので、構造は次のようになります。

mainview 
-> imageView 
-> imageView 
-> masking view (clipsToBounds=YES, backgroundColor=mainview.backgroundColor) 
    -> imageView with alpha 
    -> imageView with alpha 
+0

それは働いている!ありがとう!それは良い考えだった –

関連する問題