UIFont - cách lấy phông chữ mỏng hệ thống


98

UIFontcó các phương pháp để có được phông chữ thông thường ( systemFontOfSize) hoặc phông chữ đậm ( boldSystemFontOfSize), nhưng làm thế nào để có được một "phông chữ hệ thống mỏng" có sẵn thông qua bảng phân cảnh?

Việc chuyển "system-thin" cho UIFontContructor không hoạt động, hàm tạo này chỉ hoạt động với các phông chữ không phải hệ thống.

Câu trả lời:


266

Bạn có thể sử dụng độ dày mỏng phông chữ hệ thống:

UIFont.systemFont(ofSize: 34, weight: UIFontWeightThin)

Danh sách các trọng lượng có sẵn cho San Francisco:

UIFontWeightUltraLight
UIFontWeightThin
UIFontWeightLight
UIFontWeightRegular
UIFontWeightMedium
UIFontWeightSemibold
UIFontWeightBold
UIFontWeightHeavy
UIFontWeightBlack

trọng số phông chữ san francisco

Kể từ iOS 11, UIFontWeight* đã được đổi tên thành UIFont.Weight.*. Bạn có thể xem thêm tại đây https://developer.apple.com/documentation/uikit/uifont.weight .


10
Chỉ dành cho iOS 8.2 trở lên, thnx
Husam

32

Kể từ iOS 8.2 , bây giờ bạn có thể sử dụngUIFont.systemFontOfSize(_ fontSize: CGFloat, weight weight: CGFloat):

UIFont.systemFontOfSize(19, weight: UIFontWeightLight)

SDK iOS cung cấp các hằng số cho trọng số:

UIFontWeightUltraLight
UIFontWeightThin
UIFontWeightLight
UIFontWeightRegular
UIFontWeightMedium
UIFontWeightSemibold
UIFontWeightBold
UIFontWeightHeavy

Sử dụng phông chữ hệ thống tốt hơn là tạo phông chữ dựa trên tên phông chữ khi bạn muốn sử dụng phông chữ hệ thống vì iOS có thể thay đổi phông chữ hệ thống của chúng trên iOS (như khi họ đã làm với Helvetica Neue trong iOS 7 và bây giờ là San Francisco trong iOS 9) .

Vì vậy, những gì tôi sẽ đề xuất là bao gồm tệp TTF của phông chữ bạn muốn sử dụng tệp ttf đó làm phông chữ tùy chỉnh và sử dụng phông chữ tùy chỉnh trong ứng dụng của bạn.

Đây là lý do đặc biệt khiến tôi không thích Apple. Đừng bao giờ làm theo những gì Apple nói. Luôn làm những gì chúng ta muốn. Apple tiếp tục thay đổi phông chữ mặc định cho mọi hệ điều hành.


7

Ngoài ra, nếu bạn muốn giữ nguyên kích thước phông chữ và chỉ thay đổi trọng lượng thì hãy sử dụng từ kích thước phông chữ phần tử được nhắm mục tiêu. Ví dụ:

demoLabel.font = UIFont.systemFont(ofSize: demoLabel.font.pointSize, weight: UIFontWeightThin)

với điều này, bạn có thể giữ kích thước phông chữ nhãn mặc định và chỉ cần thay đổi trọng lượng.

Kể từ iOS 11, UIFontWeightThin đã được đổi tên thành UIFont.Weight.thin. Bạn có thể xem thêm tại đây https://developer.apple.com/documentation/uikit/uifont.weight .


2

Swift 4.2

 label.font = UIFont.systemFont(ofSize: 15, weight: UIFont.Weight.thin)
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.