ฟอนต์ระบบเริ่มต้นบน iPhone ชื่ออะไร
ฉันต้องการดึงข้อมูลนี้เพื่อปรับแต่งไฟล์UIView
.
ฟอนต์ระบบเริ่มต้นบน iPhone ชื่ออะไร
ฉันต้องการดึงข้อมูลนี้เพื่อปรับแต่งไฟล์UIView
.
คำตอบ:
เพื่อความพึงพอใจของผู้ใช้ฟอนต์ในทุกหนทุกแห่งอินเทอร์เฟซระบบของ iPhone ใช้ Helvetica หรือตัวแปรดังกล่าว
อินเทอร์เฟซระบบ iPhone, iPhone 3G และ iPhone 3GS ดั้งเดิมใช้ Helvetica ดังที่ได้กล่าวไว้เป็นครั้งแรกโดย DaringFireball ที่ยอดเยี่ยมเสมอ iPhone 4 ใช้แบบอักษรที่ได้รับการปรับปรุงใหม่ที่เรียกว่า "Helvetica Neue" DaringFireball ยังตั้งข้อสังเกตว่าการเปลี่ยนแปลงนี้เกี่ยวข้องกับการแสดงผลของ iPhone 4 มากกว่าระบบปฏิบัติการ iOS 4 และ iPhone รุ่นเก่าที่ใช้ iOS 4 ยังคงใช้ Helvetica เป็นแบบอักษรของระบบ
iPod รุ่นที่วางจำหน่ายก่อน iPhone จะใช้ทั้ง Chicago, Espy Sans หรือ Myriad และใช้ Helvetica หลังจากการเปิดตัว iPhone
จากhttp://www.everyipod.com/iphone-faq/iphone-who-designed-iphone-font-used-iphone-ringtones.html
สำหรับiOS9ได้เปลี่ยนเป็นSan Fransiscoแล้ว โปรดดูhttp://developer.apple.com/fontsสำหรับข้อมูลเพิ่มเติม
หากคุณกำลังทำการปรับแต่งแบบเป็นโปรแกรมอย่าฮาร์ดโค้ดแบบอักษรของระบบ การใช้งานUIFont systemFontOfSize:
, UIFont boldSystemFontOfSize:
และUIFont italicSystemFontOfSize
( เอกสารแอปเปิ้ล )
สิ่งนี้มีความเกี่ยวข้องโดยเฉพาะตั้งแต่ iOS 7 ซึ่งเปลี่ยนแบบอักษรของระบบเป็น Helvetica Neue
นี้ได้กลายเป็นซุปเปอร์ที่เกี่ยวข้องโดยเฉพาะอย่างยิ่งตั้งแต่ iOS 9 ที่มีการเปลี่ยนแปลงแบบอักษรของระบบอีกครั้งไปยัง San Francisco
UIFont
อินสแตนซ์ของแบบอักษรระบบตามขนาดที่กำหนดและจะส่งคืนแบบอักษรของระบบเสมอโดยไม่คำนึงถึงการอัปเดต iOS ในอนาคต
Helvetica
... ทำตอนนี้
afaik iPhone ใช้ " Helvetica " โดยค่าเริ่มต้น <iOS 10
คุณสามารถใช้
UIFont *systemFont = [UIFont systemFontOfSize:12];
NSLog(@"what is it? %@ %@", systemFont.familyName, systemFont.fontName);
คำตอบคือ:
สูงสุด iOS 6
Helvetica Helvetica
iOS 7
.Helvetica Neue Interface .HelveticaNeueInterface-M3
แต่คุณสามารถใช้ Helvetica Neue
.SFUIText-Regular
เป็นsystemFont.familyName
แบบอักษรเฉพาะ
การตั้งค่าแบบอักษรเฉพาะใน Swift ทำได้ดังนี้:
let myFont = UIFont(name: "Helvetica", size: 17)
หากคุณไม่ทราบชื่อคุณสามารถรับรายชื่อแบบอักษรที่มีได้ดังนี้:
print(UIFont.familyNames())
หรือรายการที่ละเอียดยิ่งขึ้นเช่นนี้:
for familyName in UIFont.familyNames() {
print(UIFont.fontNamesForFamilyName(familyName))
}
แต่แบบอักษรของระบบจะเปลี่ยนจากเวอร์ชันเป็นเวอร์ชันของ iOS ดังนั้นจะเป็นการดีกว่าที่จะรับแบบอักษรของระบบแบบไดนามิก
แบบอักษรของระบบ
let myFont = UIFont.systemFontOfSize(17)
แต่เรามีขนาด hard-coded จะเป็นอย่างไรหากสายตาของผู้ใช้ไม่ดีและต้องการทำให้ตัวอักษรใหญ่ขึ้น แน่นอนคุณสามารถตั้งค่าในแอปของคุณเพื่อให้ผู้ใช้เปลี่ยนขนาดตัวอักษรได้ แต่จะน่ารำคาญหากผู้ใช้ต้องทำสิ่งนี้แยกกันสำหรับทุกแอปในโทรศัพท์ มันจะง่ายกว่าถ้าทำการเปลี่ยนแปลงในการตั้งค่าทั่วไปเพียงครั้งเดียว ...
แบบอักษรแบบไดนามิก
let myFont = UIFont.preferredFont(forTextStyle: .body)
อ่าตอนนี้เรามีแบบอักษรของระบบตามขนาดที่ผู้ใช้เลือกสำหรับรูปแบบข้อความที่เรากำลังใช้งาน นี่เป็นวิธีที่แนะนำในการตั้งค่าแบบอักษร ดูการสนับสนุนประเภทไดนามิกสำหรับข้อมูลเพิ่มเติมเกี่ยวกับสิ่งนี้
ฉันไม่แน่ใจว่ามี api สำหรับรับชื่อฟอนต์ระบบเริ่มต้น ฉันจึงได้ชื่อแบบนี้:
//get system default font
UILabel *label = [[UILabel alloc] init];
fontname = label.font.fontName;
[label release];
ดูโง่ แต่ได้ผล
[UIFont systemFontOfSize:[UIFont labelFontSize]];
ดูคำตอบของฉันด้านล่าง
นี่คือการปรับปรุงบางส่วนเพื่อรองรับiOS 7 Dynamic Font Size
ตอนนี้มีแล้ว
สำหรับแอปใด ๆ และทั้งหมดที่รองรับ "ประเภทไดนามิก" ผู้ใช้สามารถเลือกขนาดตัวอักษรใน iOS 7 ที่ใช้งานได้ทั้งระบบเพียงไปที่ส่วน "ทั่วไป" ใน "การตั้งค่า" และเลือก "ขนาดตัวอักษร"
UIFont *dynamicFont = [UIFont preferredFontForTextStyle:UIFontTextStyleBody];
และรายการค่าคงที่คำอธิบายโดยละเอียดอยู่ที่นี่
NSString *const UIFontTextStyleHeadline;
NSString *const UIFontTextStyleSubheadline;
NSString *const UIFontTextStyleBody;
NSString *const UIFontTextStyleFootnote;
NSString *const UIFontTextStyleCaption1;
NSString *const UIFontTextStyleCaption2;
หมวดหมู่UIFontSystemFontsสำหรับUIFont ( UIInterface.h ) มีขนาดที่กำหนดไว้ล่วงหน้าที่สะดวกหลายขนาด
@interface UIFont (UIFontSystemFonts)
+ (CGFloat)labelFontSize;
+ (CGFloat)buttonFontSize;
+ (CGFloat)smallSystemFontSize;
+ (CGFloat)systemFontSize;
@end
ฉันใช้สำหรับข้อความแชท (ป้ายกำกับ) และใช้งานได้ดีเมื่อฉันต้องการขนาดของบล็อกข้อความ
[UIFont systemFontOfSize:[UIFont labelFontSize]];
ขอให้สนุกกับการเขียนโค้ด!
UIFont *systemFont = [UIFont systemFontOfSize:[UIFont systemFontSize]];
สิ่งนี้จะให้แบบอักษรของระบบที่มีขนาดแบบอักษรเริ่มต้นของระบบที่ใช้กับข้อความป้ายกำกับโดยค่าเริ่มต้น
รวดเร็ว
คุณควรใช้ค่าเริ่มต้นของระบบเสมอและไม่ยากที่จะเข้ารหัสชื่อแบบอักษรเพราะ Apple สามารถเปลี่ยนแบบอักษรเริ่มต้นได้ตลอดเวลา
มีสองแบบอักษรเริ่มต้นของระบบมี (ปกติ, ตัวหนา , ตัวเอียง ) ที่มีขนาดแตกต่างกัน (ป้ายปุ่มอื่น ๆ ):
let font = UIFont.systemFont(ofSize: UIFont.systemFontSize)
let font2 = UIFont.boldSystemFont(ofSize: UIFont.systemFontSize)
let font3 = UIFont.italicSystemFont(ofSize: UIFont.systemFontSize)
โปรดทราบว่าขนาดตัวอักษรเริ่มต้นขึ้นอยู่กับมุมมองเป้าหมาย (ป้ายกำกับปุ่มอื่น ๆ )
ตัวอย่าง:
let labelFont = UIFont.systemFont(ofSize: UIFont.labelFontSize)
let buttonFont = UIFont.systemFont(ofSize: UIFont.buttonFontSize)
let textFieldFont = UIFont.systemFont(ofSize: UIFont.systemFontSize)
ต้องดาวน์โหลดไฟล์. ttf
เพิ่มไฟล์. ttf ภายใต้ทรัพยากรสำเนาบันเดิลตรวจสอบอีกครั้งว่ามีการเพิ่มไฟล์ ttf ภายใต้ทรัพยากรหรือไม่
ใน info.pllist ให้เพิ่มชื่อไฟล์ ttf ตามที่เป็นอยู่
ตอนนี้เปิดสมุดแบบอักษรเพิ่มไฟล์. ttf ในสมุดแบบอักษรเลือกไอคอนข้อมูลที่นั่นคุณจะพบชื่อตัวอักษร
ตอนนี้ให้ชื่อ Postscript แทนชื่อฟอนต์
แบบอักษรเริ่มต้นสำหรับ iOS คือ San Francisco คุณสามารถอ้างอิงลิงค์เพื่อดูรายละเอียดเพิ่มเติม