Câu trả lời:
Để làm hài lòng những người theo chủ nghĩa thuần túy phông chữ ở khắp mọi nơi, giao diện hệ thống iPhone sử dụng Helvetica hoặc một biến thể của nó.
Giao diện hệ thống iPhone, iPhone 3G và iPhone 3GS ban đầu sử dụng Helvetica. Theo ghi nhận đầu tiên của DaringFireball luôn xuất sắc, iPhone 4 sử dụng một phông chữ được sửa đổi một cách tinh tế có tên "Helvetica Neue." DaringFireball cũng lưu ý rằng thay đổi này liên quan đến màn hình hiển thị của iPhone 4 hơn là hệ điều hành iOS 4 và các mẫu iPhone cũ hơn chạy iOS 4 vẫn sử dụng Helvetica làm phông chữ hệ thống.
Các mẫu iPod được phát hành trước iPhone sử dụng Chicago, Espy Sans hoặc Myriad và sử dụng Helvetica sau khi phát hành iPhone.
Từ http://www.everyipod.com/iphone-faq/iphone-who-designed-iphone-font-used-iphone-ringtones.html
Đối với iOS9, nó đã được đổi thành San Fransisco . Xem http://developer.apple.com/fonts để biết thêm thông tin.
Nếu bạn đang thực hiện tùy chỉnh theo chương trình, đừng làm khó phông chữ hệ thống. Sử dụng UIFont systemFontOfSize:
, UIFont boldSystemFontOfSize:
và UIFont italicSystemFontOfSize
( của Apple tài liệu ).
Điều này trở nên đặc biệt phù hợp kể từ iOS 7, thay đổi phông chữ hệ thống thành Helvetica Neue.
Đây đã trở thành siêu đặc biệt có liên quan kể từ iOS 9, thay đổi font hệ thống một lần nữa đến San Francisco.
UIFont
phiên bản của phông chữ hệ thống sử dụng các kích thước đã cho và sẽ luôn trả về phông chữ hệ thống bất kể các bản cập nhật iOS trong tương lai.
Helvetica
... làm điều đó ngay bây giờ.
Phông chữ cụ thể
Đặt một phông chữ cụ thể trong Swift được thực hiện như sau:
let myFont = UIFont(name: "Helvetica", size: 17)
Nếu bạn không biết tên, bạn có thể lấy danh sách các tên phông chữ có sẵn như sau:
print(UIFont.familyNames())
Hoặc một danh sách chi tiết hơn như thế này:
for familyName in UIFont.familyNames() {
print(UIFont.fontNamesForFamilyName(familyName))
}
Nhưng phông chữ hệ thống thay đổi từ phiên bản này sang phiên bản iOS. Vì vậy, sẽ tốt hơn nếu có được phông chữ hệ thống động.
Phông chữ hệ thống
let myFont = UIFont.systemFontOfSize(17)
Nhưng chúng tôi có kích thước được mã hóa cứng. Nếu người dùng mắt kém và họ muốn làm cho phông chữ lớn hơn thì sao? Tất nhiên, bạn có thể thực hiện cài đặt trong ứng dụng của mình để người dùng thay đổi kích thước phông chữ, nhưng điều này sẽ gây khó chịu nếu người dùng phải thực hiện việc này riêng cho từng ứng dụng trên điện thoại của họ. Sẽ dễ dàng hơn nếu chỉ thực hiện một thay đổi trong cài đặt chung ...
Phông chữ động
let myFont = UIFont.preferredFont(forTextStyle: .body)
À, bây giờ chúng ta có phông chữ hệ thống ở kích thước đã chọn của người dùng cho Kiểu văn bản mà chúng ta đang làm việc. Đây là cách thiết lập phông chữ được khuyến nghị. Xem Hỗ trợ Loại động để biết thêm thông tin về điều này.
Bạn luôn có thể sử dụng
UIFont *systemFont = [UIFont systemFontOfSize:12];
NSLog(@"what is it? %@ %@", systemFont.familyName, systemFont.fontName);
Câu trả lời là:
Lên đến iOS 6
Helvetica Helvetica
IOS 7
.Helvetica Neue Interface .HelveticaNeueInterface-M3
nhưng bạn chỉ có thể sử dụng Helvetica Neue
.SFUIText-Regular
làsystemFont.familyName
Tôi không chắc có một api để lấy tên phông chữ hệ thống mặc định. Vì vậy, tôi chỉ nhận được tên như thế này:
//get system default font
UILabel *label = [[UILabel alloc] init];
fontname = label.font.fontName;
[label release];
Trông ngu ngốc nhưng nó hoạt động.
[UIFont systemFontOfSize:[UIFont labelFontSize]];
Xem câu trả lời của tôi bên dưới.
Đây là một số cập nhật để hỗ trợ iOS 7 . Nó có Dynamic Font Size
bây giờ.
Đối với bất kỳ và tất cả các ứng dụng hỗ trợ “Loại động”, người dùng có thể chọn kích thước phông chữ trong iOS 7 hoạt động trên toàn hệ thống, đơn giản bằng cách truy cập phần "Chung" trong "Cài đặt" và chọn "Kích thước phông chữ".
UIFont *dynamicFont = [UIFont preferredFontForTextStyle:UIFontTextStyleBody];
Và danh sách hằng số, giải thích chi tiết ở đây
NSString *const UIFontTextStyleHeadline;
NSString *const UIFontTextStyleSubheadline;
NSString *const UIFontTextStyleBody;
NSString *const UIFontTextStyleFootnote;
NSString *const UIFontTextStyleCaption1;
NSString *const UIFontTextStyleCaption2;
Thể loại UIFontSystemFonts cho UIFont ( UIInterface.h ) cung cấp một số kích thước được xác định trước thuận tiện.
@interface UIFont (UIFontSystemFonts)
+ (CGFloat)labelFontSize;
+ (CGFloat)buttonFontSize;
+ (CGFloat)smallSystemFontSize;
+ (CGFloat)systemFontSize;
@end
Tôi sử dụng nó cho các tin nhắn trò chuyện (nhãn) và nó hoạt động tốt khi tôi cần lấy kích thước của các khối văn bản.
[UIFont systemFontOfSize:[UIFont labelFontSize]];
Chúc bạn viết mã vui vẻ!
UIFont *systemFont = [UIFont systemFontOfSize:[UIFont systemFontSize]];
Điều này sẽ cung cấp cho bạn phông chữ hệ thống với kích thước phông chữ hệ thống mặc định được áp dụng cho văn bản nhãn theo mặc định.
Nhanh
Bạn nên luôn sử dụng mặc định của hệ thống và không nên mã hóa tên phông chữ vì phông chữ mặc định có thể bị Apple thay đổi bất cứ lúc nào.
Có một số phông chữ mặc định của hệ thống (bình thường, đậm , nghiêng ) với các kích thước khác nhau (nhãn, nút, các phông chữ khác):
let font = UIFont.systemFont(ofSize: UIFont.systemFontSize)
let font2 = UIFont.boldSystemFont(ofSize: UIFont.systemFontSize)
let font3 = UIFont.italicSystemFont(ofSize: UIFont.systemFontSize)
beaware rằng kích thước phông chữ mặc định phụ thuộc vào chế độ xem mục tiêu (nhãn, nút, những thứ khác)
Ví dụ:
let labelFont = UIFont.systemFont(ofSize: UIFont.labelFontSize)
let buttonFont = UIFont.systemFont(ofSize: UIFont.buttonFontSize)
let textFieldFont = UIFont.systemFont(ofSize: UIFont.systemFontSize)
yêu cầu tải xuống tệp .ttf
thêm tệp .ttf trong tài nguyên gói sao chép, kiểm tra kỹ xem tệp ttf có được thêm vào tài nguyên không
Trong info.pllist, hãy thêm tên tệp ttf như nó vốn có.
bây giờ mở sách phông chữ thêm tệp .ttf trong sách phông chữ, chọn biểu tượng thông tin ở đó bạn tìm thấy tên tái bút.
bây giờ đặt tên tái bản thay cho tên phông chữ
Phông chữ mặc định cho iOS là San Francisco. Bạn có thể tham khảo link để biết thêm chi tiết