2016-04-13 73 views
4

Uygulamamdaki ayarları erişilebilirlikten kullanıcının seçili yazı tipini uygulamaya çalıştığımda, kullanıcı seçtiğim metin boyutunu uygulamamda alamıyor. preferredContentSizeCategory bile her zaman yazı tipi boyutu ayarları erişilebilirlik değiştirildiğinde bildirim almak için viewDidLoad aşağıdaki kodu ekleyin ayar/erişilebilirlikErişilebilirlik Ayarlardan Büyük Metin

cevap

8

değiştirdikten sonra UICTContentSizeCategoryL gibi aynı yazı tipini dönen

let contentSize = UIApplication.sharedApplication().preferredContentSizeCategory 

gibi kodudur.

- (void)preferredContentSizeChanged:(NSNotification *)notification { 
    self.textView.font = [UIFont preferredFontForTextStyle:UIFontTextStyleBody]; 
} 

Bu sadece yeni tercih edilen boyutuna göre birine metin görünümü yazı ayarlar:

[[NSNotificationCenter defaultCenter] 
           addObserver:self 
           selector:@selector(preferredContentSizeChanged:) 
            name:UIContentSizeCategoryDidChangeNotification 
            object:nil]; 

Sonraki, aşağıdaki yöntemi ekleyin.

Not: Yazı tipini neden daha önce sahip olduğu değere ayarladığınızı merak ediyor olabilirsiniz. Kullanıcı tercih edilen yazı tipi boyutunu değiştirdiğinde, tercih edilen yazı tipini tekrar istemelisiniz; otomatik olarak güncellenmez. Tercih edilenFontForTextStyle ile döndürülen yazı tipi: yazı tipi tercihleri ​​değiştiğinde farklı olacaktır.

DÜZENLEME:

bu yazı bakın: https://stackoverflow.com/a/20510095/5756850

** kodunuzu daima döndürür, Yanıtınız için [UIApplication sharedApplication].preferredContentSizeCategory;

+0

Teşekkür test etmek gerçek cihaz kullanarak font-family tercih et:" .SFUIText -Düzenli"; yazı tipi ağırlığı: normal; yazı tipi stili: normal; Yazı büyüklüğü: 14.00pt **, metin boyutunun erişilebilirlikten sonra bile. Erişilebilirlik metin boyutunda daha fazlasını seçtiğimde, daha az font ve daha fazla yazı tipi seçtiğimde amacım alt yazı tipini almaktır. Herhangi bir fikrin var mı ? –

+0

Hey, lütfen şurayı kontrol edin: (Ayrıca bunu test etmek için gerçek aygıt kullanmayı tercih edin) http://stackoverflow.com/a/20510095/5756850 – Microprocessor8085

+1

Evet, bu bağlantıyı takip ettim, ancak ** [UIApplication sharedApplication] .preferredContentSizeCategory ** her zaman aynı değeri verir. –