2012-04-02 7 views
1

UIScrollView 내에있을 때 UILabel 및 UITextView의 상태를 유지하려고합니다. UIView 클래스의 'contentScaleFactor'속성을 따라 왔지만 사용자 정의 도면에서 완벽하게 작동하지만 UITextView와 Labels는 올바른 contentscale에서 다시 그리기를 거부합니다.UIKit 요소의 ContentScaleFactor가 손상 되었습니까?

http://pastebin.com/PBjhjMbR

아마이 텍스트를 그릴 실제 뷰는 이러한 클래스의 서브 뷰 것을 때문이다?

답변

1

모든 하위 뷰에서 contentScaleFactor를 반복적으로 설정하고 더 높은 품질로 표시되도록 설정 한 각보기에서 setNeedsDisplay를 호출해야합니다. UIImageView에서 설정하는 것은 가치가 없다는 것을 발견했습니다. 어쨌든 더 높은 품질로 렌더링하지 않기 때문에 백업 레이어를 더 크게 만들어 메모리를 낭비 할 필요가 없기 때문입니다.

+0

사과가 허용 할 수있는 방법이 아니며 텍스트 뷰의 실제 텍스트 레이어를 찾는 것이 쉽지 않습니다. WWDC에서 버그 보고서를 제출하라고 말했고, 실마리가 없었습니다. – M0rph3v5

+0

늦게 답장을 드려 죄송합니다. 위의 방법은 Apple 엔지니어가 WWDC에서해야 할 것과 정확히 일치합니다. 내가 사용한 애플 리케이션은 이미 앱 스토어에있다. 그래서 애플은 사실 그것을 허용한다. (왜 그들은 공개 API가 아닌가?) 내가 가진 유일한 문제는 텍스트에서 작동하지 않는다는 것이다. 필드를 편집하는 동안 (예 : 키보드가 올라간 상태). 이 경우 어떤 이유에서 뭔가 관련 뷰의 contentScaleFactor를 기본값으로 다시 설정하고 있으므로 제대로 작동하도록 늦게 설정하는 방법을 알 수 없습니다. –

+0

그게 내 문제의 핵심이지만, 편집되지 않은 상태인데, 나는 적절한 컨텐츠 분류로 내 자신의 견해만을 보여주고있다. 편집 상태가 문제입니다. – M0rph3v5

관련 문제