Jak mogę obsługiwać typ dynamiczny w UILabel
i UITextView
w systemie iOS 7? Dostosowuję jeden z naszych projektów na iOS 7 i chciałbym wesprzeć tę funkcję dostępności. Nie mogę znaleźć szczegółowego samouczka w witrynie dla programistów iOS firmy Apple. Wszelkie linki lub przykładowy kod będą mile widziane.Jak obsługiwać typ dynamiczny w etykietach w systemie iOS 7
Odpowiedz
Jeśli korzystasz z nowych metod UIFont
, jesteś prawie na miejscu - wystarczy dodać obserwatora, aby nasłuchiwał zmian.
Zamiast ustawiać konkretny rozmiar czcionki, podczas stylizacji etykiet należy używać metody preferredFontForTextStyle:
i pokrewnych metod (jeśli korzystasz z Kreatora interfejsu, możesz wybrać styl bezpośrednio w inspektorze). Na przykład:
self.label.font = [UIFont preferredFontForTextStyle:UIFontTextStyleHeadline];
Raz zrobiłeś, że należy słuchać na UIContentSizeCategoryDidChangeNotification
. Kiedy otrzymasz to powiadomienie, powinieneś ułożyć etykiety, aby obsługiwały nowo wybrany rozmiar (jeśli korzystasz z funkcji autolayout, zwykle jest to tak proste, jak wysłanie invalidateIntrinsicContentSize
do swoich widoków).
Jeśli szukasz oficjalnej dokumentacji, spójrz na numer Text Programming Guide.
Czy nie ma sposobu na dostęp do stylu wybranego w interfejsie Budowniczy? Jeśli nie, to wydaje się dużym niedopatrzeniem. Teraz muszę ustawić go w 2 miejscach, co oznacza, że nieuchronnie się zsynchronizuje. – MacsimusPrime
'preferredFontForTextStyle' zwraca czcionkę systemową, czy jest jakiś sposób, aby to zrobić z niestandardowymi czcionkami? – kevin
w Swift 3 i iOS 10 można użyć
headline.font = UIFont.preferredFont(forTextStyle: UIFontTextStyleHeadline)
headline.adjustsFontForContentSizeCategory = true
Zobacz this excellent post uzyskać więcej informacji, zwłaszcza jak wspierać wstępnie iOS 10.
- 1. Jak testujemy typ dynamiczny (rozmiar tekstu) w symulatorze iOS?
- 2. Jak odświeżyć UICollectionViewCell w systemie iOS 7?
- 3. dynamiczny typ w MVC widoku
- 4. Jak obsługiwać powiadomienia typu fcm, gdy aplikacja nie działa lub jest zamknięta w systemie iOS, podobnie jak w systemie Android?
- 5. Dynamiczny typ powrotu Dappera
- 6. Jak obsługiwać przycisk kliknięty w systemie Android?
- 7. Dynamiczny typ zwracania w metodzie Java
- 8. Przycisk Wstecz nie jest widoczny w systemie iOS 7
- 9. Integracja zewnętrznej klawiatury Bluetooth w systemie IOS 7
- 10. Przecinki w etykietach gnuplot
- 11. Co to jest kolor separatora UITableView w systemie iOS 7?
- 12. Dźwięk powiadomienia aplikacji jest domyślnie wyłączony w systemie iOS 7
- 13. typ danych wejściowych = plik nie działa w systemie iOS
- 14. Wyeliminuj podświetlanie w systemie Windows Phone 7?
- 15. Niestandardowy wykres dynamiczny w systemie Android
- 16. Localhost w systemie Windows 7
- 17. iOS 7 AVPlayer AVPlayerItem trwania niepoprawny w iOS 7
- 18. Jak skonfigurować cabal w systemie Windows 7?
- 19. iOS - Jak zintegrować powiadomienia push w systemie iOS 10?
- 20. UITableViewCellAccessoryCheckmark nie wyświetla się w iOS 7
- 21. Jak obsługiwać zdarzenie typu "dziecko" w Expandablelistview w systemie Android?
- 22. Ramka UIWindow w systemie ios 8 różni się od ios 7 w Krajobrazie
- 23. Dekompresja obrazu w iOS 7
- 24. Jak obsługiwać testy MBUnit w programie Resharper 7
- 25. Animacja UIView próbująca zmienić rozmiar ramki nie działa w systemie iOS 8, ale w systemie iOS 7
- 26. Jak utworzyć własny typ dynamiczny lub obiekt dynamiczny w języku C#?
- 27. Jak stworzyć dynamiczny model twarzy użytkownika w systemie Android?
- 28. Jak zarejestrować niestandardowy typ pliku w iOS
- 29. Jak uzyskać iOS 6 UITableView Zgrupowane style w IOS 7
- 30. Dlaczego Carthage nie obsługuje iOS 7?
Sprawdź samouczek [Jak wspierać typ dynamiczny w iOS 7 Apps .] (http://mythoughtsandexperiments.blogspot.in/2013/12/how-to-support-dynamic-type-in-ios-7.html) –