2012-03-12 1 views
2

내 iPhone 앱에는 두 개의 UIImageViews가 있습니다. 나는이 코드를 사용 :모양이 투명 한 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; 

두 원이 겹치는의 일부 영역을 가지고 있고, 나는이 지역은 사용자가 두 이미지를 함께 볼 수 있도록 반투명되고 싶어요. 이 영역은 정사각형이 아닙니다 (우리가 말하는 서클이기 때문에 매우 분명합니다).

어떻게 할 수 있습니까?

+0

당신은 투명 만 겹치는 영역을 줄까? – calimarkus

+0

예. 이 지역 만. 나머지는 보통 –

답변

1

겹치는 영역 만 투명하게 나타내려면 거의 마스킹 로직을 사용하여 coregraphics를 통해 이미지를 그려야합니다.

그러나 사용자 지정 그리기 코드가 필요없는 아이디어 (주변보기의 색상이 단색 일 경우). 두 이미지를 모두 볼 수 있습니다. 중첩 영역을 "마스크"하기 위해 이미지 위에 사각형 크기의 다른보기를 추가하십시오. 해당보기에 대해 클리핑 사용 .clipsToBounds = YES을 사용하십시오. 해당 이미지에 두 개의 이미지를 다시 추가하고 .alpha0.5 (또는 원하는 것을 각각)으로 설정하십시오.

그래서 구조는 다음과 같습니다

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

일 것입니다! 고마워! 그건 좋은 생각이야. –