ขนาดตัวอักษรขั้นต่ำเลิกใช้งานบน iOS เวอร์ชัน 6.0


92

ฉันเพิ่งอัปเกรดเป็น xcode 4.5 ด้วย iOS 6.0 และมีการเน้นคำเตือนเกี่ยวกับป้ายกำกับ UIL ทั้งหมดในไฟล์ XIB ของฉันว่า "เลิกใช้งานขนาดแบบอักษรขั้นต่ำใน ios เวอร์ชัน 6.0" ไม่มีใครรู้ว่าสิ่งนี้หมายถึงอะไรและจะแก้ไขได้อย่างไร?

อัปเดต: ไม่มีรูปภาพอีกแล้ว (อยู่ที่https://skitch.com/hahmadi82/eyk51/cloud )


1
@HoomanAhmadi: นักพัฒนา iOS ทุกคนได้รับอีเมลนั้น อ่านข้อความละหมาดที่ด้านล่าง: "ซอฟต์แวร์ก่อนวางจำหน่าย ... "
Rok Jarc

7
เปลี่ยน "ขนาดตัวอักษรขั้นต่ำ" ในส่วน Autoshrink เป็น "ขนาดอักษรขั้นต่ำ" : p เพิ่งมีปัญหาเดียวกันและตรงมาที่นี่โดยสมมติว่าฟอนต์ไม่ละเมิด NDA ดูเหมือนแบบอักษรจะผ่านการเปลี่ยนแปลงเล็กน้อยในการอัปเกรด
erran

18
ฉันถามคำถามนี้เนื่องจากไม่ได้ปิดอย่างถูกต้อง อย่างน้อยเหตุผลในการปิดก็ผิดผิด "เกี่ยวข้องกับพื้นที่ทางภูมิศาสตร์ขนาดเล็กเท่านั้น" ไม่ ใช้ได้กับนักพัฒนา iOS ทั้งหมด "สถานการณ์ที่แคบเป็นพิเศษซึ่งโดยทั่วไปไม่สามารถใช้ได้กับผู้ชมอินเทอร์เน็ตทั่วโลก" ไม่ ใช้ได้กับทุกคน "คำถามนี้ไม่น่าจะช่วยผู้เยี่ยมชมในอนาคตได้" ไม่ มันมีประโยชน์อย่างเหลือเชื่อสำหรับฉันและน่าจะเป็นประโยชน์อย่างเท่าเทียมกันสำหรับนักพัฒนา iOS ทุกคน ฉันเข้าใจปัญหา NDA แต่ทันทีที่ยก NDA คำถามนี้ก็จะปรากฏขึ้น
Jean-Denis Muys

9
ผู้คนครั้งแรกที่ฉันแก้ไขสิ่งนี้ฉันทำมันด้วยตนเองและมันเป็นการทรมานแบบพิเศษ จากนั้นฉันต้องรวมการเปลี่ยนแปลงบางอย่างและต้องขอบคุณ Xcode เบต้ามันทำให้ฉันมี emacs เป็นเครื่องมือผสานของฉันดังนั้นฉันจึงประกันตัวและเอาไฟล์เวอร์ชันใหม่กว่าโดยรู้ว่าฉันจะทิ้งสิ่งเหล่านี้ไป แต่จากนั้นฉันก็เปลี่ยนการเปลี่ยนแปลงเหล่านี้ใหม่โดยใช้ TextWrangler: ไฟล์เป็น xml เพียงแค่แทนที่: autoshrinkMode = "minimumFontSize" ด้วย autoshrinkMode = "minimumFontScale" และแทนที่ minimumFontSize = "10" ด้วย minimumFontScale = "0.5" Voila
Rob

1
@LittleBobbyTables: จะดีถ้าคนสามารถขอเป็นอย่างดีแม้ว่า โกรธและมีสิทธิที่จะส่งเสียงครวญครางเหมือนความคิดเห็นของ matheszabi เป็นวิธีที่ดีในการโน้มน้าวให้ฉันไม่เปิดคำถามอีกครั้ง
CA McCann

คำตอบ:


47

minimumFontSizeคุณสมบัติของการUILabelเลิกใช้งานตั้งแต่ iOS 6.0 เป็นต้นไป

อีกทางเลือกหนึ่งของminimumFontSizeคือminimumScaleFactor. หากคุณกำหนดminimumFontSize/defaultFontSizeให้minimumScaleFactorมันจะทำงานในลักษณะเดียวกับ MinimumFontSize

โค้ดมีดังนี้ - ตัวอย่างเช่นขนาดฟอนต์คือ 30.0 และหากคุณต้องการให้ขนาดฟอนต์ต่ำสุดคือ 12.0

YOURLABEL.font= [UIFont fontWithName:@"FONT_NAME" size:30.0];
[YOURLABEL setMinimumScaleFactor:12.0/[UIFont labelFontSize]];


8

แก้ไขด่วน ... นี่ขนาดตัวอักษรขั้นต่ำคือ 8.0

            CGFloat size = textLabel.font.pointSize;// font size of label text
            [textLabel setMinimumScaleFactor:8.0/size];

5

ฉันตอบช้ามาก แต่อาจช่วยได้ ขณะที่ทุกคนรู้ดีว่าsetMinimumFontSizeได้เลิกใช้วิธีการเปลี่ยนอื่น ๆ เพื่อให้setMinimumFontSizeมีที่setAdjustFontToFitWidthซึ่งจะใช้เวลาBOOL เช่น

[yourLabel setAdjustsFontSizeToFitWidth:YES];
//or
yourLabel.adjustsFontSizeToFitWidth = YES;

3

ฉันมีปัญหาที่คล้ายกัน การแก้ไขด่วนคือการใช้คุณสมบัติ MinimumScaleFactor ของ UILabel


3

สำหรับ Swift ให้ใช้สิ่งต่อไปนี้:

//set the number (ex. 8 to your desired minimum font size)
myLabel!.minimumScaleFactor = 8/myLabel!.font.pointSize;`

ใช้งานได้เหมือนมีเสน่ห์!


1

ไปที่ Finder และค้นหา.storyboardไฟล์หรือของคุณ.xibและเปิดด้วย TextEdit ใช้ค้นหาเพื่อค้นหาสตริง"autoshrinkMode"และแทนที่ค่า"minimumFontSize"เป็น"minimumFontScale"

แปลกที่การแปลงไม่ได้เขียนไว้ในสคริปต์อัพเดต ...

ให้เครดิตกับ @Rob ในความคิดเห็นด้านบนด้วยสำหรับการระบุคำตอบเดียวกัน เขาควรได้รับเครดิตสำหรับเรื่องนี้


ไม่มี autoshrinkMode ในไฟล์สตอรี่บอร์ดของฉัน
Timuçin

ขอบคุณสิ่งนี้ใช้ได้กับฉันอย่างสมบูรณ์แบบ @ Tim คุณต้องเลือก UILabel เท่านั้นและตรวจสอบตัวเลือก "label" ในแผงยูทิลิตี้ด้านขวาและตรวจสอบตัวเลือกคุณจะเห็นตัวเลือกที่เรียกว่า "Autoshrink" i.stack.imgur.com/H6YYJ.png
pabloverd

0

คุณสามารถใช้ตัวประกอบมาตราส่วนขั้นต่ำตรงนั้นหรือลากฉลากและตั้งค่าแบบอักษรอัตโนมัติ ->

บางทีนี่อาจช่วยคุณได้


0

ใช่minumumFontSizeเลิกใช้งานแล้ว

ใช้ดังต่อไปนี้minimumScaleFactor:-

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