2012-06-26 23 views
5

Napisałem funkcję, aby powiększyć UIView przy użyciu CGAffineTransformScale. Po dwukrotnym powiększeniu cały tekst wygląda na naprawdę rozmazany. Obrazy są OK, jeśli na początku mają wyższą rozdzielczość. Czy istnieje sposób ponownego renderowania całego tekstu w prawidłowej rozdzielczości po powiększeniu?Renderowanie tekstu iOS po powiększeniu

Edycja: I znaleziono częściowe rozwiązanie problemu: moim http://markpospesel.wordpress.com/2012/04/03/on-the-importance-of-setting-contentscalefactor-in-catiledlayer-backed-views/

  • (void) didMoveToWindow { self.contentScaleFactor = 2,0; }

Dodając powyższą metodę w kategorii UIView, UILabel, UIButton i większość innych odsłon teraz uczynić w wysokiej rozdzielczości. Nie ma to jednak wpływu na UITextView ani UIWebView. Tekst w dowolnym z tych dwóch widoków jest nadal niewyraźny.

Nowe pytanie brzmi: w jaki sposób UITextView lub UIWebView można przerysować w wysokiej rozdzielczości po powiększeniu?

Odpowiedz

7

Tak. Możesz ustawić wartość contentScaleFactor na swoim UIView, aby spowodować, że renderowanie będzie miało wyższą rozdzielczość. Ostrożnie na urządzeniach siatkówki; chcesz upewnić się, że twój nowy contentScaleFactor jest co najmniej twój [[UIScreen mainScreen] scale]. (Ustawiłbym to przed twoją animacją, więc jest gładka.)

Edycja: aby było jasne, prawdopodobnie musisz ustawić contentScaleFactor z widoku tekstowego na [[UIScreen mainScreen] scale] * 2 w twoim przykładzie z 2x zoomem.

+0

Dziękuję za odpowiedź. Nadal jestem zdezorientowany. Czy należy ustawić contentScaleFactor w widoku nadrzędnym lub w widoku podrzędnym? Próbowałem ustawić widok nadrzędny, to nie działało. Gdyby to nie zadziałało, ustawienie bezpośrednich subskrybentów też by nie działało, ponieważ rzeczywisty widok z tekstem może znajdować się głęboko w hierarchii widoku, więc podgląd jest nadal uważany za jego ancenster. –

+0

Musisz ustawić to na (głębokim) widoku tekstowym samodzielnie, niestety, w dowolnym miejscu w hierarchii, w której żyją, ponieważ są to widoki, które wykonują rzeczywiste renderowanie tekstu do pikseli. –

+0

Dzięki Jesse! Naprawdę bardzo pomogłem. –