2011-02-26 7 views
3

이미지를 가져 와서 수많은 이미지 뷰를 추가 한 뷰의 마스크로 사용하고 싶습니다. 석영 CGContextClipToMask() 호출 알고 있지만이 접근하는 가장 좋은 방법은 무엇입니까? 컨테이너 뷰의 drawRect 메소드를 오버라이드하고 그 안에 CGContextClipToMask()를 호출 한 다음 하위 뷰가 클리핑 영역을 준수 할 것으로 기대합니까? 그것은 작동하지 않는 것 같습니다.iOS에서 이미지로 마스킹하기

차단 마스크 이미지를 맨 위에 추가해야합니까?

답변

1

드로잉 기능을 서브 클래 싱하거나 오버라이드하는 대신, 나는 볼 수있는 부분에 투명성을 가진 이미지로 이미지를 오버레이하기로했다. 즉, '표면'이 양피지의 이미지라면, 나는 그 위에 여러 개의 이미지를 그려 넣으려고했다. 양피지 이미지, 그런 다음 양피지에 올려 놓을 이미지 용 컨테이너 UIView, 원래 양피지 이미지 위에있는 마스킹 이미지를 사용하지만 양피지 자체는 완전한 투명성으로 변환 된 반면 주위 영역 양피지가있는 배경으로 그대로 남아 있습니다 (그 위에 모든 다른 UI 위젯이 있습니다).

양피지 (내 경우는 아니) 주변을 시각적으로 움직이게하는 이미지가 필요한 경우를 제외하고는 모든 경우에 실행 가능한 솔루션 인 것 같습니다.