Làm cách nào để hỗ trợ Loại động trong UILabel
và UITextView
trong iOS 7? Tôi đang điều chỉnh một trong các dự án của chúng tôi cho iOS 7 và muốn hỗ trợ tính năng trợ năng này. Tôi không thể tìm thấy cách hướng dẫn cụ thể về nó trên trang web dành cho nhà phát triển iOS của Apple. Bất kỳ liên kết hoặc mã mẫu sẽ được đánh giá cao.Cách hỗ trợ loại động trong nhãn trong iOS 7
Trả lời
Nếu bạn sử dụng phương pháp UIFont
mới thì bạn đang ở đó rất nhiều - bạn chỉ cần thêm người quan sát để nghe những thay đổi.
Thay vì đặt kích thước phông chữ cụ thể, bạn nên sử dụng preferredFontForTextStyle:
và các phương pháp liên quan khi tạo nhãn của bạn (nếu bạn đang sử dụng Trình tạo giao diện, bạn có thể chọn kiểu trực tiếp trong thanh tra). Ví dụ:
self.label.font = [UIFont preferredFontForTextStyle:UIFontTextStyleHeadline];
Một khi bạn đã làm điều đó, bạn nên lắng nghe cho UIContentSizeCategoryDidChangeNotification
. Khi bạn nhận được thông báo này, bạn nên bố trí các nhãn của mình để hỗ trợ kích thước mới được chọn (nếu bạn đang sử dụng tính năng tự động hoàn tất, điều này thường đơn giản như gửi invalidateIntrinsicContentSize
cho các chế độ xem của bạn).
Nếu bạn đang tìm kiếm tài liệu chính thức, hãy xem Text Programming Guide.
Không có cách nào để truy cập kiểu được chọn trong Giao diện Người xây dựng? Nếu không, điều đó có vẻ như một sự giám sát lớn. Bây giờ tôi phải đặt nó ở 2 nơi, có nghĩa là nó chắc chắn sẽ không đồng bộ. – MacsimusPrime
'preferredFontForTextStyle' trả về phông chữ hệ thống, có cách nào để làm điều này với phông chữ tùy chỉnh không? – kevin
Trong Swift 3 và iOS 10 bạn có thể sử dụng
headline.font = UIFont.preferredFont(forTextStyle: UIFontTextStyleHeadline)
headline.adjustsFontForContentSizeCategory = true
Xem this excellent post để biết thêm thông tin, đặc biệt là làm thế nào để hỗ trợ iOS trước 10
- 1. Tại sao Carthage không hỗ trợ iOS 7?
- 2. iOS 7 điện thoại di động Safari không còn hỗ trợ <input type = "datetime" />
- 3. Dotfuscator loại bỏ hỗ trợ ngôn ngữ Windows Phone 7?
- 4. Cách hỗ trợ kiểm tra MBUnit trong Resharper 7
- 5. Windows Phone 7 có hỗ trợ từ khóa động không?
- 6. Hỗ trợ JSON gốc trong iOS?
- 7. Hỗ trợ Cobertura & Java 7
- 8. Hỗ trợ HTML 5 trong trình duyệt Windows Phone 7
- 9. chuỗi động với placeholders và hỗ trợ số nhiều trong Swift (iOS)
- 10. setSelectedImageTintMàu không hoạt động trong iOS 7
- 11. NSURLRequestReloadIgnoringLocalAndRemoteCacheData có hoạt động trong iOS 7 không?
- 12. Hỗ trợ cảm ứng iOS 3D trong Tập lệnh gốc
- 13. WebKit trong iOS 11 (Beta) có hỗ trợ WebRTC không?
- 14. presentViewController không hỗ trợ định hướng trong iOS 6
- 15. GoogleSignIn iOS framework không hỗ trợ Bitcode
- 16. Cách thêm hành động vào UIAlertView trong Swift (iOS 7)
- 17. Mã iOS để xác định hỗ trợ kim loại trong thời gian chạy?
- 18. MongoDB có hỗ trợ các loại điểm động không?
- 19. C-ares có hỗ trợ IOS không?
- 20. IOS 8 không còn hỗ trợ UITextAutocapitalizationTypeNone
- 21. Tài khoản iCloud không được hỗ trợ trong iOS Simulator?
- 22. hỗ trợ MS Word trên iOS
- 23. Hỗ trợ SMB/samba trên iOS?
- 24. Cách ẩn nhãn trong biểu đồ ios?
- 25. Cách xác minh thiết bị ios hỗ trợ Apple Pay
- 26. Xcode 6 - dự án "bảng phân cảnh phổ quát" sẽ hỗ trợ iOS 7?
- 27. Trạng thái hỗ trợ D trên iOS
- 28. Podfile với Hỗ trợ iOS và OSX
- 29. Hỗ trợ cho Thuộc tính Loại trong g ++
- 30. Cách tắt hoàn toàn hỗ trợ NDK trong Android Studio
Kiểm tra hướng dẫn này [Làm thế nào để hỗ trợ động Gõ vào iOS 7 Apps .] (http://mythoughtsandexperiments.blogspot.in/2013/12/how-to-support-dynamic-type-in-ios-7.html) –