UIFont - วิธีรับฟอนต์แบบบางของระบบ


100

UIFontมีวิธีการรับฟอนต์ปกติ ( systemFontOfSize) หรือฟอนต์ตัวหนา ( boldSystemFontOfSize) แต่จะทำให้ "ฟอนต์ระบบบาง" ใช้ได้ผ่านสตอรี่บอร์ดได้อย่างไร

การส่ง "system-thin" ไปยังUIFontContructor ใช้ไม่ได้ตัวสร้างนี้ใช้ได้กับฟอนต์ที่ไม่ใช่ระบบเท่านั้น

คำตอบ:


267

คุณสามารถใช้น้ำหนักตัวอักษรบางของระบบ:

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

รายชื่อน้ำหนักที่ใช้ได้สำหรับซานฟรานซิสโก:

UIFontWeightUltraLight
UIFontWeightThin
UIFontWeightLight
UIFontWeightRegular
UIFontWeightMedium
UIFontWeightSemibold
UIFontWeightBold
UIFontWeightHeavy
UIFontWeightBlack

น้ำหนักแบบอักษรของซานฟรานซิสโก

ตั้งแต่ iOS 11 UIFontWeight*เปลี่ยนชื่อเป็นUIFont.Weight.*. อื่น ๆ ที่คุณสามารถได้รับที่นี่https://developer.apple.com/documentation/uikit/uifont.weight


10
เฉพาะiOS 8.2ขึ้นไป thnx
Husam

32

สำหรับ iOS 8.2ตอนนี้คุณสามารถใช้UIFont.systemFontOfSize(_ fontSize: CGFloat, weight weight: CGFloat):

UIFont.systemFontOfSize(19, weight: UIFontWeightLight)

iOS SDK ให้ค่าคงที่สำหรับน้ำหนัก:

UIFontWeightUltraLight
UIFontWeightThin
UIFontWeightLight
UIFontWeightRegular
UIFontWeightMedium
UIFontWeightSemibold
UIFontWeightBold
UIFontWeightHeavy

การใช้แบบอักษรระบบจะดีกว่าการสร้างแบบอักษรตามชื่อแบบอักษรเมื่อคุณต้องการใช้แบบอักษรระบบเนื่องจาก iOS สามารถเปลี่ยนแบบอักษรระบบบน iOS ได้ (เช่นเดียวกับที่ทำกับ Helvetica Neue ใน iOS 7 และตอนนี้คือ San Francisco ใน iOS 9) .

ดังนั้นสิ่งที่ฉันอยากแนะนำคือรวมไฟล์ TTF ของแบบอักษรที่คุณต้องการใช้ไฟล์ ttf นั้นเป็นแบบอักษรที่กำหนดเองและใช้แบบอักษรที่กำหนดเองในแอปของคุณ

นี่คือเหตุผลพิเศษว่าทำไมฉันถึงไม่ชอบ Apple อย่า ไปทำตามที่ Apple พูด ทำในสิ่งที่เราต้องการเสมอ Apple ยังคงเปลี่ยน แบบอักษรเริ่มต้นสำหรับทุกระบบปฏิบัติการ


7

นอกจากนี้หากคุณต้องการคงขนาดตัวอักษรเท่าเดิมและเปลี่ยนน้ำหนักให้ใช้จากขนาดตัวอักษรขององค์ประกอบเป้าหมาย ตัวอย่างเช่น:

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

ด้วยวิธีนี้คุณสามารถรักษาขนาดตัวอักษรของป้ายกำกับเริ่มต้นและเปลี่ยนน้ำหนักได้

ตั้งแต่ iOS 11 UIFontWeightThin ถูกเปลี่ยนชื่อเป็นUIFont.Weight.thin. อื่น ๆ ที่คุณสามารถได้รับที่นี่https://developer.apple.com/documentation/uikit/uifont.weight


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.