2012-08-06 3 views
1

나는 CGPath를 그리는 UIView를 가지고 있으며 오버레이를 렌더링 된 CGPath 위의 하나의 z 레벨 전체에 그려 넣으 려합니다.UIView에 오버레이 그리기

어떻게 처리하나요? 레이어를 사용해야합니까? 그리기 또는 반복적으로보기의 일부를 채우고 싶습니다. 그래서 어떤 종류의 채우기 방법을 사용하는 것이 더 나은지 잘 모르겠습니다. 새 경로를 그리는 것 외에도보기의 일부를 채우는보다 효율적인 방법이 있습니까?

값에 따라 런타임 중에 오버레이 너비를 확장하여 진행률 막대와 비슷한 효과를 만들고 싶습니다.

답변

2

하위보기 (또는 이와 유사하게 하위 계층)를 사용할 수 있습니다. 보기의 하위보기가 drawRect:에 렌더링 된 콘텐츠 위에 표시됩니다. 당신이 멀리 UIImage 배경 (예를 들어, resizableImageWithCapInsets:로 만든 하나)을 사용하여, 단순히 시간이 지남에 해당 뷰의 크기를 변경과 함께 할 수 있다면

, 그것은 가능성이 drawRect:에 다시 그리는 것보다 더 효율적입니다.

+0

나는 이미 drawRect를 사용하여 뷰를 그린다. 그리고이 오버레이 ontop을 원한다. – jarryd

+0

오른쪽; 난 당신이 당신의 오버레이에 대한 하위 뷰를 사용해야하며 단순히 그 서브 뷰의 크기를 변경하여 오버레이의 크기를 변경해야한다고 말하고 있습니다. 나는 당신이 "뷰의 일부분을 반복적으로 그리거나 채우고 싶다"고 말할 때 당신이 말하는 어떤 뷰인지 모르겠습니다. 시간이 지남에 따라 그리거나 바꿀 내용을 명확히 할 수 있습니까? –

+0

필요가 없습니다, 그것을 긍정적으로 확장, 완벽하게, 난 그냥 하위 뷰의 배경을 설정할 수 있습니다. 감사! :) – jarryd

관련 문제