2012-06-26 40 views
5

CGAffineTransformScale kullanarak bir UIView'i yakınlaştırmak için bir işlev yazdım. 2x yakınlaştırmadan sonra, tüm metinler gerçekten bulanık görünür. Başlamak için daha yüksek çözünürlükte ise Görüntüler tamam. Yakınlaştırdıktan sonra tüm metni uygun çözünürlükte yeniden oluşturmanın bir yolu var mı?Yakınlaştırmadan sonra iOS metin oluşturma

Düzenleme: benim sorununa kısmi bir çözüm bulundu : http://markpospesel.wordpress.com/2012/04/03/on-the-importance-of-setting-contentscalefactor-in-catiledlayer-backed-views/

  • (void) didMoveToWindow { self.contentScaleFactor = 2.0; } UIView kategorisinde yukarıdaki yöntemi ekleyerek

, UILabel, UIButton ve diğer birçok görünümler artık yüksek çözünürlükte işlemek. Ancak, bu UITextView veya UIWebView'ı etkilemez. Bu iki görünümün içindeki metinler hala bulanık.

Yeni soru şu ki, bir UITextView veya UIWebView yakınlaştırmadan sonra nasıl yüksek çözünürlükte yeniden çizilebilir?

cevap

7

Evet. UIView'inizde contentScaleFactor'u, daha yüksek çözünürlükte arka plan görünümünü oluşturmasını sağlayabilirsiniz. Retina cihazlarına dikkat edin; Yeni contentScaleFactor'unuzun en az [[UIScreen mainScreen] scale] olduğundan emin olmak istersiniz. (Animasyonunuzdan önce bunu ayarlayabilirsiniz, bu yüzden düzgün.)

Düzenleme: Açık olması gerekirse, 2x yakınlaştırma örneğindeki metin görünümünün [[UIScreen mainScreen] scale] * 2 değerini büyük olasılıkla contentScaleFactor ayarlamalısınız.

+0

Cevabınız için teşekkürler. Hala kafam karıştı. Ana görünümün veya alt görüntünün contentScaleFactor öğesini ayarlamalı mıyım? Ebeveyn görünümünü belirlemeye çalıştım, işe yaramadı. Bu işe yaramadıysa, doğrudan alt görünümleri ayarlamak işe yaramıyordu, çünkü metin ile gerçek görünüm görünüm hiyerarşisinde derin olabilir, bu nedenle alt görünüm hala onun atalayıcısı olarak kabul edilir. –

+0

Bunu, (derin) metin görünümlerinde, maalesef, yaşadıkları hiyerarşide herhangi bir yerde kendiniz ayarlamanız gerekir; çünkü bu, metnin gerçek görüntülemesini piksellere yapan görünümlerdir. –

+0

Teşekkürler Jesse! Gerçekten çok yardımcı oldu. –