คำเตือน“ ปรับแบบอักษรโดยอัตโนมัติต้องใช้รูปแบบข้อความประเภทไดนามิก” หมายความว่าอย่างไร


104

ฉันได้รับคำเตือนต่อไปนี้:

"ต้องปรับแบบอักษรโดยอัตโนมัติโดยใช้รูปแบบข้อความประเภทไดนามิก"

เพิ่มภาพหน้าจอแล้ว

ซึ่งฉันไม่สามารถกำจัดคำเตือนmain.storyboardได้

ผมได้ตรวจสอบทุกUILabelในIdentity Inspectorเพื่อให้แน่ใจว่า"จะปรับตัวอักษร"ไม่ได้ถูกเลือก


1
ฉันสงสัยว่า "ต้องปรับแบบอักษรโดยอัตโนมัติโดยใช้รูปแบบข้อความประเภทไดนามิก" อาจจะปรับแบบไดนามิก
ตื้นคิด

8
คุณต้องการที่จะใช้ตัวอักษรแบบไดนามิก ( "ร่างกาย", "หัวข้อ", "หัวข้อย่อย") หรือมีแนวโน้มที่ปิดและเปิดAutomatically Adjusts Font Autoshrink
bshirley

คำตอบ:


56
  1. เปิดสตอรี่บอร์ดของคุณเป็นซอร์สโค้ด
  2. ค้นหาคีย์ "adjustsFontForContentSizeCategory"
  3. ตรวจสอบว่าวัตถุใดมีตัวเลือกนี้และยกเลิกการเลือกช่องทำเครื่องหมายประเภทไดนามิกจากตัวสร้างอินเทอร์เฟซ

22
ในกรณีของฉันฉันมีคำเตือนนี้ แต่adjustsFontForContentSizeCategoryคีย์ไม่ปรากฏในซอร์สโค้ด
Chris Prince

ฉันคิดว่าตอนนี้ใช้งานได้แล้ว (Xcode 11) เพียงแค่คลิกที่คำเตือนและเลือกป้ายกำกับที่ไม่เหมาะสม (เพื่อหลีกเลี่ยงขั้นตอนซอร์สโค้ด)
garafajon

@ChrisPrince คุณแก้ปัญหานั้นหรือไม่?
ScottyBlades

34

ฉันเพิ่งเปลี่ยนรูปแบบข้อความเป็นเนื้อหาและคำเตือนหายไป

เป็นเพียงเพราะเป็น textStyle ประเภทไดนามิก

ดูรายการ textStyle ประเภทไดนามิกที่รองรับที่กำหนดไว้ล่วงหน้า -

ป้อนคำอธิบายภาพที่นี่


1
การเปลี่ยนให้bodyดูเหมือนจะทำให้สูญเสียความสามารถในการเป็นตัวหนา
btrballin

31

ผมมีปัญหาเหมือนกัน. แม้ว่าฉันจะเปิดสตอรีบอร์ดเป็นแหล่งที่มาและลบคีย์ "adjustsFontForContentSizeCategory" ออกไปแล้ว แต่บันทึกและล้างโปรเจ็กต์ก็ยังคงแสดงอยู่

ดังนั้นฉัน:

  1. ทำความสะอาดโครงการ
  2. ปิด Xcode
  3. ลบเนื้อหาโฟลเดอร์ข้อมูลที่ได้รับ
  4. เปิด Xcode ใหม่และสร้างใหม่

มันหายไปแล้ว :)


4
ขั้นตอนที่ 1: กด⇧⌥⌘Kเพื่อล้างโปรเจ็กต์และข้อมูลที่ได้รับ ละเว้นขั้นตอนที่ 3
Mojo66

1
อืม⇧⌥⌘Kล้างโฟลเดอร์บิลด์ที่อยู่ในข้อมูลที่ได้รับมา แต่จะไม่ลบโฟลเดอร์ที่ได้รับมาทั้งหมด เพียงพอหรือไม่ หรือเราทำ "xCode Voodoo Dance" ตามที่อธิบายไว้ข้างต้น D
Yaro

Voodoo Dance ได้ผลสำหรับฉัน ฉันมีปัญหาเดียวกันและสำหรับ Push Segues ที่เลิกใช้แล้วเช่นกัน ฉันเปลี่ยนการติดตามและป้ายกำกับทุกรายการด้วยตนเอง แต่คำเตือนไม่หายไป การลบโฟลเดอร์ DerivedData แก้ไขมัน
danomatika

26

ดูเหมือนว่าจะเป็นจุดบกพร่องใน Xcode นี่คือสิ่งที่ฉันทำเพื่อแก้ไข:

  1. เปลี่ยนแบบอักษรในป้ายกำกับที่แสดงข้อผิดพลาดเป็นประเภทไดนามิกตามที่แนะนำ
  2. เลือกช่องทำเครื่องหมาย "ปรับแบบอักษรอัตโนมัติ"
  3. สร้างและเรียกใช้โครงการ (ข้อผิดพลาดหายไป)
  4. ยกเลิกการเลือกช่อง "ปรับแบบอักษรโดยอัตโนมัติ"
  5. เปลี่ยนแบบอักษรกลับเป็นการตั้งค่าก่อนหน้าที่ทำให้เกิดข้อผิดพลาด
  6. สร้างโครงการใหม่

ข้อผิดพลาดยังคงหายไป


2
ฉันเห็นด้วย. ตรวจสอบไฟล์ของฉันสองครั้งและสามครั้งและแม้กระทั่งตรวจสอบ XML / แหล่งที่มา - ยังไม่มี XCode ยืนยันว่าเป็น (แม้จะ "สะอาด" ก็ตาม) น่ารำคาญแค่ไหน.
Josh

4
I changed the font in the label that showed the error, to a dynamic type,- ฉันไม่เห็นตัวเลือกใด ๆ ที่ดูเหมือนว่าจะเป็นdynamic typeแบบอักษร ข้อเสนอแนะ?
Chris Prince

ตอนนี้ฉันใช้แบบอักษรของระบบ ฉันใช้แบบอักษรที่กำหนดเองในป้ายกำกับบางป้ายซึ่งทำให้เกิดปัญหา หากคุณใช้ Google แบบอักษรไดนามิกใน Xcode คุณอาจพบรายการแบบอักษรอื่น ๆ ที่เป็นแบบไดนามิก การวิจัยเล็กน้อยไปได้ไกล โชคดี.
K. Law

3
สวัสดี @ K. Law ขอบคุณสำหรับคำตอบ แต่Xcodeสร้างคำเตือนเดียวกันหลายครั้งและมุมมองทั้งหมดอยู่ใน Intro.storyboard เมื่อฉันคลิกคำเตือน Xcode จะแสดงว่าStoryboardไม่ใช่รายการที่น่าตื่นเต้น
elia

17

หากเลือกช่อง "ปรับแบบอักษรโดยอัตโนมัติ" ด้วยแบบอักษรที่ไม่ใช่ไดนามิกคำเตือนนี้จะปรากฏขึ้น ยกเลิกการเลือกช่องบนป้ายกำกับที่ไม่เหมาะสมหรือใช้ประเภทฟอนต์ไดนามิก

ป้อนคำอธิบายภาพที่นี่


3
ในกรณีของฉันช่องนี้ไม่ได้ทำเครื่องหมาย แต่ฉันได้รับคำเตือน
Chris Prince

20
คุณจะทราบได้อย่างไรว่าแบบอักษรของคุณ "ไม่ใช่ไดนามิก"
user664939

1
@ user664939 ฟอนต์แบบไม่ไดนามิกสามารถเปลี่ยนตระกูลและสไตล์ได้ แบบอักษรแบบไดนามิกไม่สามารถเปลี่ยนตระกูลและรูปแบบได้ จะได้รับค่าเริ่มต้นตามขนาด คุณสามารถตั้งค่าครอบครัวและสไตล์จากสตอรี่บอร์ด -> ตัวตรวจสอบคุณสมบัติ -> แบบอักษร
sn86

5
@ user664939: แทนที่จะเลือกแบบอักษรเฉพาะให้คุณเลือกแบบอักษร "type" คลิกช่อง "T" ในแบบอักษรแบบเลื่อนลง ในหน้าต่างที่เปิดขึ้นให้คลิกลูกศรทางด้านขวาของแบบอักษรแบบเลื่อนลงนั้น เลือก "ลักษณะข้อความ" จากรายการที่ด้านล่าง ดูส่วนการออกแบบภาพของ HIG การพิมพ์สำหรับข้อมูลเกี่ยวกับขนาดจุด ฯลฯ ที่เกี่ยวข้องกับรูปแบบข้อความแต่ละแบบ
ลีแอนน์

10
  1. เปิดกระดานเรื่องราวของคุณคลิกขวาที่กระดานเรื่องราวในตัวนำทางไฟล์

ป้อนคำอธิบายภาพที่นี่

  1. ค้นหา (คำสั่ง F) และลบอินสแตนซ์ของ adjustsFontForContentSizeCategory="YES"

1
ใน Xcode ของฉัน (11.1) ไม่มีช่อง "ปรับแบบอักษรโดยอัตโนมัติ" ฉันลองทำอย่างอื่นแล้วไม่มีอะไรได้ผลยกเว้นสิ่งนี้ - ด้วยคะแนนโหวต 0 Thx
DrWhat
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.