2014-04-01 1 views
0

UIScrollView 안에 뷰가 있습니다. 이 뷰에서는 스케일 변환을 설정하므로 확대/축소를 보정하고 동일한 크기를 유지합니다.변환 된 UIView의 drawRect

변형이 모든 하위 뷰에서 작동하는 것처럼 보이지만 bounds을보기 자신의 drawRect으로 채우면 전체 프레임을 채우는 것처럼 보이며 크기 조절 변형이 적용되지 않은 것처럼 보입니다.

왜 이럴 수 있습니까?

+0

"clipsToBounds = YES;"테스트를 수행 했습니까? 귀하의 UIView에? –

+0

음, 하나의 하위보기가 경계를 넘기 때문에 경계에 클립 할 수 없습니다. 비록 내가 할 수 있더라도, 스케일 변환이 적용될 때 예상했던 것과 비교할 때, 경계 크기는 여전히 너무 클 것입니다. –

+0

뷰가 스크롤 뷰에 포함되어 있지 않을 때 예상대로 변형이 있거나없는 드로잉이 작동합니까? 그것을 시도하면 문제를 단순화하는 좋은 방법이 될 수 있습니다. – danh

답변

0

변환 된보기에서 frame 속성을 사용할 수 없다는 것을 알고 있었지만 실제로는 변환 된보기에서 직접 설정하는 것도 가능합니다.

속성 변형 비 항등 변환이 포함 된 경우, 프레임 속성의 값은 정의되지 I 어떤 식 으로든 self.frame를 사용하여 코드를 모두 제거

변형되지 않아야 대신 self.center을 사용하십시오. 이제 모든 것이 올바르게 표시됩니다.