Tôi có phông chữ tùy chỉnh được đưa vào dự án của mình, vốn hoạt động hoàn toàn tốt cho đến khi tôi nâng cấp mã Xcode lên phiên bản 6 với iOS 8 làm SDK cơ sở. Giờ đây, phông chữ tùy chỉnh không còn hoạt động nếu tôi chạy ứng dụng trên thiết bị hoặc trình mô phỏng iOS 8, nhưng nó vẫn hoạt động trong các thiết bị iOS 7 của tôi. Bất kỳ đề xuất?Phông chữ tùy chỉnh không hoạt động trong iOS 8
Trả lời
Tôi đã tìm thấy nguyên nhân của phông chữ "bị thiếu". Trong thực tế, phông chữ vẫn còn đó, nhưng từ iOS 7 đến iOS 8, tên phông chữ đã có một thay đổi tinh tế nhưng đột ngột: trong iOS 7 nó được gọi là, ví dụ: "Custom_Font-Style", nhưng bây giờ trong iOS 8 nó được gọi là "Custom-Font-Style". Lưu ý dấu gạch dưới giữa Custom và Font bây giờ thay đổi thành dấu gạch ngang. May mắn thay, tên của họ phông chữ vẫn giữ nguyên, như "Họ phông chữ tùy chỉnh", vì vậy bây giờ thay vì mã hóa cứng tên phông chữ tôi phải trích xuất từ họ phông chữ như sau:
static NSString *_myCustomFontName;
+ (NSString *)myCustomFontName
{
if (!_myCustomFontName)
{
NSArray *arr = [UIFont fontNamesForFamilyName:@"Custom Font Family"];
// I know I only have one font in this family
if ([arr count] > 0)
_myCustomFontName = arr[0];
}
return _myCustomFontName;
}
Tôi là không chắc chắn cách một tệp phông chữ trình bày thông tin của nó, nhưng bây giờ tôi đoán tệp phông chữ của tôi (custom font.ttf) chỉ cung cấp tên họ phông chữ "Custom Font Family" và iOS lấy tên phông chữ từ quy tắc nhất định. từ iOS 7 đến iOS 8, vì vậy trước khi chúng ta có Custom_Font-Style, bây giờ chúng ta có Custom-Font-Style.
Như đã đề cập trước đây, cách đọc tên phông chữ khác nhau giữa iOS 8 và các phiên bản trước. Tôi đã phải chịu đựng một tấm séc trong để quyết định tên để sử dụng:
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8) {
OS_SPECIFIC_GOTHIC_FONT = @"New";
} else {
OS_SPECIFIC_GOTHIC_FONT = @"Highway Gothic";
}
Bạn có thể sử dụng Finder, Get Info và Font Book để tìm các tên gọi khác nhau (iOS 8 sử dụng tiêu đề trong Font Book trong khi phần còn lại sử dụng Tên đầy đủ trong Nhận thông tin)
Trong trường hợp của tôi, một giải pháp khác đã hoạt động. Khi tôi thêm phông chữ vào dự án, chúng không được tự động thêm vào tài nguyên gói được biên dịch. Vì vậy, tôi đã phải đi 'Mục tiêu' -> 'Xây dựng các giai đoạn' -> 'Sao chép tài nguyên bó' và thêm tất cả các phông chữ theo cách thủ công. Điều này đã lừa
tuyệt vời .. đã làm việc cho tôi .. +1 –
Như http://codewithchris.com/common-mistakes-with-adding-custom-fonts-to-your-ios-app/ gợi ý, ta nên liệt kê tất cả các phông chữ có sẵn trong thời gian chạy để xem liệu các phông chữ tùy chỉnh có sẵn:
for family: String in UIFont.familyNames() {
print("\(family)")
for name: String in UIFont.fontNamesForFamilyName(family) {
print("== \(name)")
}
}
Lars Blumberg câu trả lời trong Swift 3
for family in UIFont.familyNames {
print("\(family)")
for name: String in UIFont.fontNames(forFamilyName: family) {
print("== \(name)")
}
}
- 1. Phông chữ tùy chỉnh không hoạt động trong lollipop?
- 2. phông chữ ttf xcode tùy chỉnh không hoạt động
- 3. Tải phông chữ tùy chỉnh trong Windows 8 Metro App
- 4. UINavigationBar phông chữ tùy chỉnh không làm việc trên iOS 8
- 5. Phông chữ tùy chỉnh trong iOS với Phonegap Canvas
- 6. Phông chữ San Francisco trong iOS 8
- 7. Không thể tìm thấy phông chữ tùy chỉnh - iOS
- 8. Sử dụng phông chữ tùy chỉnh trong Windows Phone 8
- 9. @ phông chữ cho phông chữ tùy chỉnh, phông chữ không trơn tru trong Chrome
- 10. iOS 5 Phông chữ Tuỳ chỉnh
- 11. Tùy chỉnh inputView với chiều cao động trong iOS 8
- 12. Phông chữ tùy chỉnh của tôi không muốn hoạt động trong Internet Explorer
- 13. Phông chữ tùy chỉnh trong Xcode 6
- 14. Phông chữ tùy chỉnh trong thẻ tùy chọn chọn
- 15. Phông chữ tùy chỉnh trong ckeditor
- 16. Phông chữ tùy chỉnh trong Java
- 17. Phông chữ tùy chỉnh trong Android
- 18. Phông chữ tùy chỉnh trong Pixi.js
- 19. Phông chữ tùy chỉnh cho webview android
- 20. Tại sao phông chữ tùy chỉnh thường không hiển thị chính xác trong iOS?
- 21. Có thể sử dụng phông chữ tùy chỉnh - sử dụng phông chữ không?
- 22. WPF - Thêm Phông chữ Tùy chỉnh
- 23. Phông chữ tùy chỉnh Swift Xcode 7
- 24. Phông chữ tùy chỉnh CSS tuyệt vời
- 25. Phông chữ tùy chỉnh với các lớp kích thước trong iOS
- 26. Android phông chữ tùy chỉnh từ xaViews
- 27. Tùy chỉnh dấu phân cách UITableView không hoạt động trên iOS 8 với bảng phân cảnh.
- 28. Sử dụng phông chữ OTF tùy chỉnh trong Ggplot2
- 29. tùy chỉnh @ font-face không tải trong chrome (phông chữ chrome tùy chỉnh không render)
- 30. Animating TextView với phông chữ tùy chỉnh làm công việc nặng nhọc để phông chữ Cache
như thế nào mục nhập trong giao diện Info.plist. Tệp nằm trong ứng dụng của bạn ở đâu? Bạn truy cập phông chữ như thế nào? – idmean
Tôi biết rằng trong Xcode5 ít nhất, nó không quan trọng nếu bạn sử dụng vốn hoặc không phải trong tên tập tin của bạn, nhưng trên một thiết bị nó không quan trọng. Có lẽ họ cũng đã thay đổi quy tắc này cho Xcode6. – bdv
@bdv vâng, tôi nhớ rằng thời gian dài trước đây khi giao dịch với một số hình ảnh được hiển thị/không được hiển thị trong trình mô phỏng và thiết bị. Đối với điều này font, tôi đã kiểm tra và đó là tất cả các trường hợp thấp hơn và phù hợp với tên tập tin trên đĩa. – CodePlumber