คำเตือนแอตทริบิวต์ไม่พร้อมใช้งานบน iOS เวอร์ชันก่อน 8.0

อะไรทำให้เกิดคำเตือนนี้ในตัวสร้างอินเทอร์เฟซ

แอตทริบิวต์ Unavailable Layout สัมพันธ์กับระยะขอบของเลย์เอาต์บน iOS เวอร์ชันก่อน 8.0

ฉันใช้ XCode 6 เบต้า คำเตือนชี้ไปที่บรรทัดในแหล่ง xml ที่ไม่เกี่ยวข้องกับแอตทริบิวต์


person GLee    schedule 12.08.2014    source แหล่งที่มา


คำตอบ (5)


เนื่องจากฉันได้สร้างข้อจำกัดแล้ว คำตอบคือการคลิกที่ข้อจำกัด แล้วดูในแถบ Utilities (ทางด้านขวา) ดังที่แสดงในภาพด้านล่าง คลิกที่รายการ จากนั้นตรวจสอบให้แน่ใจว่าไม่ได้ทำเครื่องหมายที่ "สัมพันธ์กับระยะขอบ"

สัมพันธ์กับภาพหน้าจอขอบ

person GLee    schedule 15.08.2014
comment
ดูความคิดเห็น # 3 โดย @ Matt-Gibson สำหรับคำตอบนี้ stackoverflow.com/a/25261327/2147244 - person Sergey Markelov; 20.09.2014
comment
คุณจะต้องปรับค่าคงที่หากทำเช่นนี้ เพราะมันจะเปลี่ยนมุมมองของคุณตามจำนวนพิกเซลของระยะห่างระหว่างขอบ - person Joris Weimar; 16.10.2014
comment
@GLee คุณช่วยฉัน ฉันมีการตรวจสอบมาร์จิ้นโดยสัมพันธ์กับข้อจำกัดบางประการ เมื่อฉันเปลี่ยนข้อจำกัดเป็น 0 มันจะปรับมุมมองเป็น 16/-16 เมื่อฉันแก้ไขมัน มันก็จะเปลี่ยนข้อจำกัด ตัวเลือกนั้นสามารถตั้งค่าได้ในรายการแรกหรือรายการที่สอง การถอดออกช่วยแก้ปัญหาข้อจำกัดที่มีมายาวนานของฉันได้ - person Dan Loughney; 08.05.2015

เมื่อคุณเพิ่มข้อจำกัดใน Xcode 6 คุณจะมีตัวเลือก "จำกัดที่ระยะขอบ" ซึ่งสร้างข้อจำกัดอื่นและไม่สามารถอ่านได้ เช่น ใน Xcode 5 สร้างข้อจำกัดโดยไม่มีตัวเลือกนี้ และคำเตือนจะหายไป ข้อจำกัดนี้จะพร้อมใช้งานบน iOS 8

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

หากคุณได้สร้างข้อจำกัดแล้ว เราสามารถเปลี่ยนได้โดยคลิกที่ข้อจำกัดแล้วแก้ไข เมื่อเลือกรายการที่สอง คุณสามารถยกเลิกการเลือกตัวเลือก "สัมพันธ์กับระยะขอบ" ได้ (ตามที่อธิบายไว้ในคำตอบของ GLee

person Tchelow    schedule 14.08.2014
comment
คุณยังสามารถแทนที่คุณลักษณะนี้สำหรับข้อจำกัดแต่ละรายการได้เมื่อสร้างข้อจำกัดโดยการลากควบคุมใน IB เมื่อคุณได้ควบคุมและลากและวางเมนูที่แสดงข้อจำกัดที่เป็นไปได้ของคุณแล้ว ให้กด Option ค้างไว้ ที่จะมีการเปลี่ยนแปลงเช่น นำ Space ไปสู่ ​​Container Margin เป็นเพียงธรรมดา Leading Space สู่ Container อาจมีประโยชน์หากคุณต้องการทำเช่นนี้สำหรับข้อจำกัดเป็นครั้งคราว แทนที่จะเปลี่ยนค่าเริ่มต้น - person Matt Gibson; 21.08.2014
comment
อย่างไรก็ตามไม่มีตัวเลือกเช่นต้องการระยะขอบที่สัมพันธ์กับ Xcode 6 มันวิเศษมากที่ xcode เส็งเคร็ง ฉันได้สร้างข้อจำกัดโดยอัตโนมัติโดยเลือกรีเซ็ตเป็นข้อจำกัดที่แนะนำ และข้อจำกัดที่สร้างโดย xcode มีปัญหานี้ Xcode จะต้องถูกเผาในพิธีพระจันทร์เต็มดวงและถวายแด่เทพเจ้าแห่งความไร้ความสามารถ บางทีพวกเขาอาจจะส่งคืนของขวัญที่วิเศษเช่นนี้ - person Duck; 11.09.2014
comment
ฉันขอแนะนำให้คุณเพิ่มตัวเลือกนี้และควรเป็นสิ่งแรกที่ทุกคนควรลอง - person Lucas van Dongen; 11.09.2014
comment
ฉันอัปเดตข้อมูลและรูปภาพเพื่อแสดงชื่อฟิลด์ที่ถูกต้องเนื่องจาก Apple เปลี่ยนใน Xcode เวอร์ชันล่าสุด (GM ATM) - person Tchelow; 12.09.2014
comment
@ Matt Gibson เพื่อนทิปที่ยอดเยี่ยม ฉันได้ลบการตั้งค่าระยะขอบ / ปรับข้อ จำกัด ด้วยตนเองตลอดเวลานี้ นั่นจะช่วยประหยัดเวลาได้มาก - person Adam Eisfeld; 27.01.2015

หากคุณไม่พบคำเตือนที่มาจากที่ใด คุณสามารถใช้ grep นี้เพื่อค้นหาได้

รันสิ่งนี้ใน Terminal ในไดเรกทอรีโครงการของคุณ:

grep -C 6 -nr Margin .

เลข 6 บอกว่าจะแสดงบริบทกี่บรรทัดก่อนและหลังการแข่งขัน

person Collin    schedule 23.09.2014
comment
ฉันแทนที่ Margin ด้วย TrailingMargin, topMargin, LeadingMargin และ BottomMargin เพื่อผลลัพธ์ที่ดีกว่ามากในการค้นหาว่าคำเตือนที่ซ่อนอยู่นั้นมาจากไหน - person Nur Iman Izam; 30.09.2014
comment
คุณยังสามารถคลิกขวาที่ไฟล์สตอรี่บอร์ดของคุณภายใน Project Navigator ของ Xcode และเลือก Open As -› Source Code จากนั้นเพียงค้นหาไฟล์สำหรับ Margin ตามที่ Collin ระบุ - person Gasper; 04.10.2014

ตาม Gasper Kolenc การเปิดกระดานเรื่องราวเป็นซอร์สโค้ดมีประโยชน์มาก นี่เป็นข้อมูลเพิ่มเติมเล็กน้อยจากประสบการณ์ของฉันในการแก้ไขปัญหานี้:

  1. ในซอร์สโค้ดกระดานเรื่องราว ให้ค้นหา "margin" คุณจะเห็นบรรทัดเช่นนี้

    ข้อ จำกัด firstAttribute = "trailingMargin" SecondItem = "Pgb-8w-IHT" SecondAttribute = "trailing" คงที่ = "8" id = "nKP-uZ-7Xm"/

  2. ค้นหารหัสของแอตทริบิวต์อย่างใดอย่างหนึ่ง (Pgb-8w-IHT ในตัวอย่างด้านบน)

  3. เลื่อนขึ้นเพื่อดูว่าข้อจำกัดนี้อยู่ในวัตถุใด สิ่งที่ต้องการ:

    tableViewCell contentMode = "scaleToFill" SelectionStyle = "ค่าเริ่มต้น"

  4. สลับกลับไปยังมุมมองกระดานเรื่องราวและแสดงหน้าต่างตัวตรวจสอบข้อมูลประจำตัว

  5. ค้นหาผ่านมุมมองย่อยของออบเจ็กต์ที่คุณพบด้านบนเพื่อค้นหารหัส (Pgb-8w-IHT) บนตัวตรวจสอบข้อมูลประจำตัว

  6. เมื่อพบแล้ว ให้ตรวจสอบข้อจำกัดเพื่อค้นหาข้อจำกัดที่ต้องลบและสร้างใหม่โดยไม่มีตัวเลือกจำกัดระยะขอบที่เลือกไว้ (ใช้ค่าคงที่ = " " เป็นคำใบ้"

person Kevin Kaiser    schedule 06.10.2014

ในกรณีของฉัน ฉันต้องยกเลิกการเลือก "ใช้เลย์เอาต์อัตโนมัติ" จากกระดานเรื่องราวของฉันใน File Inspector และทำซ้ำข้อจำกัดทั้งหมดในแอปของฉัน วิธีแบบเก่าด้วยการย่อ/ขยายสี่เหลี่ยมสีแดงนั้น

คลาสขนาดถูกปิดใช้งานแล้วและเป้าหมายคือ IOS 7.1

แต่คิดให้ดีถ้าคุณมี View Controllers มากเกินไป และได้ทำข้อจำกัดทั้งหมดแล้ว เมื่อคุณปิดการใช้งานรูปแบบอัตโนมัติ Xcode จะล้างข้อจำกัดอัตโนมัติทั้งหมดและเปลี่ยนกลับเป็นรุ่นเก่า จากนั้นคุณจะต้องทำงานทั้งหมดอีกครั้ง

นี่เป็นวิธีเดียวที่ฉันกำจัดคำเตือน Attribute Unavailable นั้นได้

person user8925456    schedule 23.07.2015