2015-01-22 3 views
0

내보기에 그림자가 나타나기를 원합니다. 처음에 모든 뷰에 그림자를 추가하면 문제가 발생하기 쉬워 UI가 매우 어둡습니다. 그림자를 그릴 때 대신 UIBezierPath을 사용하고 shouldRasterizetrue으로 설정해야한다는 것을 깨달았습니다. 모든 것이 부드럽고 매끄러 워졌지만 한 가지 문제로 인해 이러한 그림자는 정적입니다. 그들은보기로 크기를 조정하지 않습니다. 이러한보기는 모두 자체적으로 UITableViewCell이고이 셀의 높이는보기의 내용에 맞게 동적으로 조정됩니다. 그러나 특정 셀의 크기가 조절되면 (애니메이션을 사용하면) 뷰와 그림자의 크기를 조정할 수는 있지만 래스터 화되기 때문에 그렇게하지 않을 것입니다.크기를 조정할보기에 그림자 표시

이 문제를 해결할 수있는 방법에 대한 아이디어가있는 사람이 있습니까?

답변

0

이 그림자를 늘릴 수 있도록하는 것이 적절할까요? 그렇다면, 당신은 공유있는 UIImage에 한 번 그림자를 그리기 시도 할 수 있습니다 (그리고 캐시) UIBezierPath to UIImage

을 그리고있는 UIImage의 방법의 도움으로 뷰 크기를 조정할 수있는 UIImage와 배경 UIImageViews을 설정

resizableImageWithCapInsets: 

당신은 배경에 UIImageView로 추가 될 모든 그림자에 대해 하나의 이미지를 갖게됩니다.

+0

나는 이것을 시도하고 다시, 감사합니다. –

+0

보다 간단한 해결책으로, 뷰의 크기가 조정 된 후 배경 뷰로 setNeedsDisplay를 호출하여 뷰 및 뷰 계층을 다시 렌더링 할 수 있습니다. –