2016-12-30 14 views
5

open source library, UIApplication.shared.preferredContentSizeCategory numaralı telefonu arayabilir. Ancak UIApplication.shared uzantılarda kullanılamaz. Yapılandırma hatası, sorunumu çözmek için denetleyici tabanlı bir yöntem bulmamı önerir, ancak kitaplık yazıyorum, böylece herhangi bir görüntü denetleyicisine erişimim yok. Bir uzantının kök görüntüleme denetleyicisini veya en dıştaki UITraitEnvironment'u elde etmenin bir yolu var mı?UIApplication.shared.preferredContentSizeCategory uygulamasının eşdeğeri

iOS 9 + 'yu destekliyorum, ancak bu özellik mümkün kılıyorsa bu özellik 10+ olabilir.

+0

Görünüm denetleyicisi doğru değeri vermiyor mu? 'Self.view.window.preferredContentSizeCategory' hakkında ne düşünüyorsunuz? –

+0

Görünüm veya pencerede yokum. Bu, "UITraitCollection" öğesine eklediğim bir örnek işlevdir ve mevcut özellik ortamının mevcut özellik koleksiyonunu bulmak istiyorum. Muhakemeyi burada görebilirsiniz (https://github.com/Raizlabs/BonMot/issues/251). Sadece bu parçayı derleyebilirim, ancak uzantıları dinamik olarak desteklemeyi tercih ederim. –

+0

Sadece, "sharedApplication" ın aslında Apple'ın uzantıların yaşam döngüsünü nasıl kurduğuna bağlı olarak yapay olarak engellenen uzantılarda mevcut olduğunu söyleyebilirim. UIApplication.value (forKey: "sharedApplication") olarak! UIApplication size istediğiniz şeyi verecektir. ;-) –

cevap

1

UIScreen.main.traitCollection.preferredContentSizeCategory'u kullanabilirsiniz. preferredContentSizeCategory özelliği iOS 10 veya daha yeni sürümlerde kullanılabilir.

+0

Bu gerçekten 10+ üzerinde çalışıyor :) –