phông chữ hệ thống iPhone


98

Tên của phông chữ hệ thống mặc định trên iPhone là gì?

Tôi muốn lấy cái này để tùy chỉnh a UIView.

Câu trả lời:


109

Để 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.


6
Hiện tại nó là phông chữ Helvetica Neue Regular.
Augustine

4
Đối với iOS9, nó đã được đổi thành San Fransisco. Xem developer.apple.com/fonts để biết thêm thông tin.
Freek Sanders

103

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: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.


1
Tôi sẽ không thay đổi phông chữ hệ thống, đó là một ý tưởng tồi. Nhưng tôi muốn nó cho một số html trong UIWebView.
SK9

Điều này không thay đổi phông chữ hệ thống - nó chỉ cung cấp cho bạn các UIFontphiê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.
Adam Wright

Phông chữ tôi thấy trong UIWebView của tôi không giống với Helvetica đối với tôi. Tôi có thể sai nhưng việc đặt phông chữ cho chế độ xem của tôi đã giúp tôi loại bỏ sự nghi ngờ.
SK9

"Đừng làm khó phông chữ hệ thống" là lời khuyên tốt, hoặc lời khuyên thực sự tồi, tùy thuộc vào tình huống. Cá nhân tôi, tôi ước tôi đã mã hóa cứng Helvetica... làm điều đó ngay bây giờ.
Dan Rosenstark

Hoàn toàn đồng ý, làm ơn đừng hardcode. Đây sẽ là câu trả lời đúng cho câu hỏi này
Esteve

16

afaik iPhone sử dụng " Helvetica " theo mặc định <iOS 10


như đã thấy bởi câu trả lời khác, nó phụ thuộc vào phiên bản iOS
ericosg

12

Nhanh

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.

Có liên quan


11

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


1
trong Swift trên iOS 9 Tôi nhận được .SFUIText-RegularsystemFont.familyName
Daniel

@simpleBob Thông tin thêm về điều đó: designforhackers.com/blog/apples-new-san-francisco-font
Dan Rosenstark

8

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.


17
UIFont * font = [UIFont systemFontOfSize: 12.0]; <! - được phông chữ mặc định
Steven Baughman

Có những phương pháp dễ dàng hơn .. Nhưng +1 để suy nghĩ
thấu đáo

Có vẻ tốt hơn: P [UIFont systemFontOfSize:[UIFont labelFontSize]];Xem câu trả lời của tôi bên dưới.
Anton Gaenko

3

Đây là một số cập nhật để hỗ trợ iOS 7 . Nó có Dynamic Font Sizebâ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;

3

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ẻ!


3
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.


2

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)

0
  1. yêu cầu tải xuống tệp .ttf

  2. 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

  3. Trong info.pllist, hãy thêm tên tệp ttf như nó vốn có.

  4. 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.

  5. bây giờ đặt tên tái bản thay cho tên phông chữ


0

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

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.