อัพเดต 3:
คำเตือนนี้สามารถถูกเรียกใช้โดยเลเบลที่numberOfLines
ตั้งค่าเป็นอะไรก็ได้ แต่ 1 หากเป้าหมายการปรับใช้ของคุณถูกตั้งค่าเป็น 7.1 สิ่งนี้สามารถทำซ้ำได้อย่างสมบูรณ์ด้วยโครงการมุมมองเดียวใหม่
ขั้นตอนในการสร้างซ้ำ:
- สร้างโครงการมุมมองเดียวเป้าหมายใหม่
- ตั้งค่าเป้าหมายการปรับใช้เป็น 7.1
- เปิดกระดานเรื่องราวของโครงการ
- วางเลเบลลงบนตัวควบคุมมุมมองที่จัดเตรียมไว้
- ตั้งค่า numberOfLines สำหรับเลเบลนั้นเป็น 2
- รวบรวม
ฉันได้ยื่นเรดาร์ต่อไปนี้:
rdar: // problem / 18700567
อัปเดต 2:
น่าเสียดายนี่คือสิ่งที่เกิดขึ้นอีกครั้งในรุ่น Xcode 6 โปรดทราบว่าส่วนใหญ่แล้วคุณสามารถแก้ไขสตอรี่บอร์ด / xib ได้ด้วยตนเองเพื่อแก้ไขปัญหา ต่อCharles A.ในความคิดเห็นด้านล่าง:
เป็นมูลค่าการกล่าวขวัญว่าคุณสามารถแนะนำคำเตือนนี้ได้โดยง่ายโดยไม่ตั้งใจและการเตือนนั้นไม่ได้ช่วยในการค้นหาฉลากที่เป็นตัวการ นี่คือโชคร้ายในกระดานเรื่องราวที่ซับซ้อน คุณสามารถเปิดกระดานเรื่องราวเป็นไฟล์ต้นฉบับและค้นหาด้วย regex <label(?!.*preferredMaxLayoutWidth)
เพื่อค้นหาป้ายกำกับที่ละเว้นแอตทริบิวต์ / ค่าที่ต้องการ MaxMayLayoutWidth หากคุณเพิ่มใน PreferredMaxLayoutWidth = "0" บนบรรทัดดังกล่าวจะเหมือนกับการทำเครื่องหมายที่ชัดเจนและการตั้งค่า 0
อัปเดต 1:
ข้อบกพร่องนี้ได้รับการแก้ไขแล้วใน Xcode 6 GM
คำตอบเดิม
นี่เป็นข้อผิดพลาดใน Xcode6-Beta6 และ XCode6-Beta7 และสามารถละเว้นได้อย่างปลอดภัยในตอนนี้
วิศวกรแอปเปิ้ลในฟอรั่มสำหรับนักพัฒนาแอปเปิ้ลนี้จะพูดเกี่ยวกับข้อผิดพลาด:
ความกว้างสูงสุดของเลย์เอาต์สูงสุดคือคุณสมบัติเลย์เอาต์อัตโนมัติบน UILabel ที่อนุญาตให้มันขยายในแนวตั้งโดยอัตโนมัติเพื่อให้พอดีกับเนื้อหา เวอร์ชันของ Xcode ก่อนหน้า 6.0 จะตั้งค่า PreferredMaxLayoutWidth สำหรับป้ายกำกับหลายบรรทัดให้เป็นขนาดขอบเขตปัจจุบัน ณ เวลาออกแบบ คุณจะต้องอัปเดตที่ต้องการ MaxLayoutWidth ด้วยตนเองเมื่อรันไทม์หากโครงร่างแนวนอนของคุณเปลี่ยนไป
iOS 8 เพิ่มการรองรับสำหรับการคำนวณที่ต้องการโดยอัตโนมัติ MaxLayoutWidth ที่รันไทม์ซึ่งทำให้การสร้างป้ายกำกับหลายบรรทัดง่ายยิ่งขึ้น การตั้งค่านี้ไม่เข้ากันได้กับ iOS 7 เพื่อสนับสนุนทั้ง iOS 7 และ iOS 8, Xcode 6 ช่วยให้คุณสามารถเลือก "อัตโนมัติ" หรือ "ชัดเจน" สำหรับการเลือก MaxLayoutWidth ในเครื่องมือตรวจสอบขนาด คุณควร:
เลือก "อัตโนมัติ" หากกำหนดเป้าหมายเป็น iOS 8 เพื่อประสบการณ์ที่ดีที่สุด เลือก "ชัดเจน" หากกำหนดเป้าหมาย <iOS 8 จากนั้นคุณสามารถป้อนค่าที่ต้องการ MaxLayoutWidth ที่คุณต้องการตั้งค่า การเปิดใช้งานค่าเริ่มต้น "ชัดเจน" เป็นขนาดขอบเขตปัจจุบันในเวลาที่คุณทำเครื่องหมายในช่อง
คำเตือนจะปรากฏขึ้นหาก (1) คุณกำลังใช้เลย์เอาต์อัตโนมัติ (2) "Automatic" ถูกตั้งค่าสำหรับป้ายกำกับหลายบรรทัด [คุณสามารถตรวจสอบได้จากตัวตรวจสอบขนาดสำหรับฉลาก] และ (3) เป้าหมายการปรับใช้ <iOS 8
ดูเหมือนว่าข้อผิดพลาดคือคำเตือนนี้ปรากฏขึ้นสำหรับเอกสารที่ไม่ใช่การชำระอัตโนมัติ หากคุณเห็นคำเตือนนี้และไม่ได้ใช้การจัดวางอัตโนมัติคุณสามารถเพิกเฉยต่อคำเตือนได้
คุณสามารถหลีกเลี่ยงปัญหานี้ได้โดยใช้ตัวตรวจสอบไฟล์บนกระดานเรื่องราวหรือ xib ที่มีปัญหาและเปลี่ยน "Builds สำหรับ" เป็น "Builds สำหรับ iOS 8.0 และใหม่กว่า"