ข้อ จำกัด “ ความกว้างเท่ากับความสูง” ในตัวสร้างอินเทอร์เฟซ


93

ฉันไม่พบวิธีสร้างข้อ จำกัด "สี่เหลี่ยมจัตุรัส" ซึ่งหมายความว่า "ความกว้างเท่ากับความสูง" ในตัวสร้างอินเทอร์เฟซ ฉันเดาว่าเป็นไปได้ที่จะเพิ่มข้อ จำกัด ดังกล่าวโดยใช้โปรแกรม มีอะไรที่ฉันสามารถทำได้ใน IB? บางทีฉันอาจจะไม่เห็นมัน? ดูเหมือนเป็นเรื่องเล็กน้อย แต่ฉันหาไม่เจอ


ฉันจำได้ว่า Peter Ammon พูดถึง "พึ่งพา Interface Builder ให้มากที่สุด" ใน WWDC'12 วิธีแดกดัน
DemoniacDeath

4
ใช่ฉันคิดว่ายังมีบางสิ่งที่ขาดหายไปจากการใช้ข้อ จำกัด การจัดวาง ดูเหมือนว่าพวกเขาให้เราเข้าถึงพารามิเตอร์ส่วนใหญ่ แต่ไม่ใช่ตัวคูณซึ่งจะมีประโยชน์สำหรับหลาย ๆ อย่าง
rdelmar

แต่ก็ดีขึ้นเรื่อย ๆ ! ฉันหมายถึง Auto Layout เปิดตัวเมื่อไม่ถึง 3 ปีที่แล้วและจากมุมมองของฉันการสนับสนุนนั้นดีมากในปัจจุบัน
Lukas Kubanek

คำตอบ:


188

อัปเดต Xcode 5.1b5

ความกว้างเท่ากับความสูง

Ctrl + คลิกและลากจากมุมมองและปล่อยในขณะที่ตัวชี้อยู่เหนือมุมมอง เลือก "อัตราส่วนภาพ" มันจะสร้างข้อ จำกัด โดยที่รายการแรกและที่สองคือมุมมอง


ก่อน Xcode 5.1

คุณทำไม่ได้เนื่องจากตัวแก้ไขความกว้าง / ความสูงไม่มีฟิลด์ที่เกี่ยวข้องกับคุณสมบัติอื่นหรือตั้งค่าอัตราส่วน:

ข้อ จำกัด ด้านความกว้าง

ดังนั้นคุณไม่สามารถแสดงรหัสต่อไปนี้ในตัวสร้างอินเทอร์เฟซ:

CGFloat ratio = 1.0;
NSLayoutConstraint *constraint = [NSLayoutConstraint
    constraintWithItem:myView
    attribute:NSLayoutAttributeWidth
    relatedBy:NSLayoutRelationEqual
    toItem:myView
    attribute:NSLayoutAttributeHeight
    multiplier:ratio
    constant:0];
constraint.priority = 1000;
[myView.superview addConstraint:constraint];

1
ขอบคุณสำหรับการอัปเดตล่าสุด Xcode 5.1 เบต้า 5 จริงช่วยให้คุณสามารถตั้งค่า จำกัด อัตราส่วนใน IB แต่เมื่อฉันพยายามรวบรวมโครงการที่ผมได้รับข้อผิดพลาดต่อไปนี้: มุมมอง จำกัด อัตราส่วนกับรุ่นก่อนที่จะ Xcode 5.1 ดังนั้นบางทีเราอาจต้องรอเวอร์ชัน 5.1 สุดท้าย เหมือนกันกับคุณ @Jano?
Lukas Kubanek

ใช่การเปลี่ยนแปลงใน XIB ไม่สามารถใช้งานร่วมกันได้ หากคุณแก้ไขด้วย 5.1 คุณจะไม่สามารถย้อนกลับไปใช้เวอร์ชันที่น้อยกว่าได้
Jano

คุณสามารถรวบรวม xib ได้หรือไม่? มันใช้ไม่ได้แม้กระทั่งกับ Xcode 5.1 beta 5 สำหรับฉัน
Lukas Kubanek

1
@ onmyway133 สร้างข้อ จำกัด ระหว่างสองมุมมองและตั้งค่าตัวคูณเป็น 1: 2
Jano

3
ใน Xcode 7 ให้ ctrl + คลิกลากจากมุมมองและปล่อยที่ด้านบนของตัวมันเองและเลือกอัตราส่วนภาพ
inorganik


0

ในการเริ่มต้นให้ควบคุมการลากตามแนวทแยงมุมจากปุ่มถึงตัวมันเอง เมนูตามบริบทจะปรากฏขึ้นซึ่งคุณสามารถเพิ่มข้อ จำกัด ด้านความกว้างและความสูงได้ Shift + คลิกที่แต่ละอัน เครื่องหมายถูกจะปรากฏขึ้นเพื่อระบุว่าคุณได้เพิ่มข้อ จำกัด (หากคุณปิดกล่องโต้ตอบโดยไม่ได้ตั้งใจก่อนที่จะเพิ่มทั้งสองอย่างก็ไม่เป็นไรเพียงทำซ้ำขั้นตอนการลากและตั้งค่าอีกรายการหนึ่ง):

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

เมื่อเพิ่มครั้งแรกข้อ จำกัด เหล่านี้จะใช้กับความกว้างและความสูงปัจจุบันของปุ่มดังนั้นคุณจะต้องปรับข้อ จำกัด แต่ละข้อเพื่อให้ได้ค่าที่เหมาะสมยิ่งขึ้น เราจะต้องทำทีละภาพแม้ว่าภาพของเราจะเป็นสี่เหลี่ยมจัตุรัสก็ตามดังนั้นอย่าลืมใช้ค่าคงที่เท่ากันในทั้งสองข้อ จำกัด เพื่อปรับขนาดปุ่มตามสัดส่วน ดับเบิลคลิกที่ข้อ จำกัด และป้อนค่าที่น้อยกว่าในฟิลด์ค่าคงที่:

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

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