วิธีหลีกเลี่ยงปุ่มหล่นลงด้านล่างของหน้าจอและป้องกันไม่ให้มุมมองข้อความหายไปโดยใช้การเลย์เอาต์อัตโนมัติ - xcode/swift

ฉันกำลังเขียนแอป iOS ง่ายๆ อย่างรวดเร็วด้วย xcode และมีมุมมองการนำทางที่ฉันมีมุมมองข้อความ (สำหรับคำถามหนึ่งหรือสองประโยค) โดยมีปุ่มสองปุ่มด้านล่างเพื่อไปข้างหน้าและย้อนกลับ

ฉันต้องการให้ทั้งสองปุ่มเติมความกว้างของหน้าจอด้วยช่องว่างเล็ก ๆ ระหว่างและเพื่อให้มุมมองข้อความเติมเต็มพื้นที่ที่เหลือ ในขณะนี้ ฉันได้ลองวางปุ่มต่างๆ ในมุมมองสแต็กแนวนอน แต่ปุ่มต่างๆ ถูกบีบอัดเข้าด้วยกัน ยิ่งไปกว่านั้น เมื่อฉันรวมสแต็กแนวนอน (ที่มีปุ่ม) จากนั้นใส่สิ่งนั้นและมุมมองข้อความลงในสแต็กแนวตั้ง ข้อความจะไม่สามารถมองเห็นได้เลยเมื่อแอปทำงาน (?)

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


person laurie    schedule 17.05.2017    source แหล่งที่มา


คำตอบ (2)


ตามที่ระบุไว้ในคำตอบข้อใดข้อหนึ่ง คุณต้องตั้งค่า ประเภทการแจกจ่าย "เติมเท่ากัน"

หลังจากตั้งค่า 'มุมมองสแต็กของปุ่ม' คุณสามารถใช้มุมมองสแต็กอื่นเพื่อเก็บ 'มุมมองสแต็กของปุ่ม' และ 'มุมมองข้อความ'

Or

คุณสามารถใช้ข้อ จำกัด ง่าย ๆ เพื่อตั้งค่า 'มุมมองข้อความ' ของคุณพร้อมกับ 'มุมมองสแต็กของปุ่ม'

ในสตอรี่บอร์ดนี้ ฉันได้จำลองทั้งสองกรณีแล้ว

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

คุณสามารถอ้างอิง https://developer.apple.com/reference/uikit/uistackview. หรือหนึ่งในโพสต์ของฉันเกี่ยวกับการแจกจ่ายประเภทอื่นที่นี่ https://stackoverflow.com/a/34059843/1790683

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

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

person BangOperator    schedule 18.05.2017
comment
ฉันชอบมุมมองสแต็กที่สุด ซึ่งสมเหตุสมผลสำหรับฉันมากที่สุด ปัญหาคือเมื่อฉันทำเช่นนี้ มุมมองข้อความจะไม่ปรากฏในมุมมองของฉันเมื่อฉันเรียกใช้แอป ฉันจำเป็นต้องต่อปลั๊กไฟใหม่หรือไม่? ฉันเลือกสองปุ่ม จากนั้นไปที่ตัวแก้ไข › ฝังใน › มุมมองสแต็ก จากนั้นเลือกมุมมองสแต็กและมุมมองข้อความแล้วทำตามขั้นตอนเดียวกัน นี่คือกระดานเรื่องราวที่ฉันมีในปัจจุบัน: dropbox.com/sh/885e9rcklg5m7sv/ AAB1zhQ-tGeOCVhGHgVfoHExa?dl=0 - person laurie; 18.05.2017
comment
ขอบคุณ. ฉันได้เพิ่มข้อจำกัดเหล่านั้นแล้ว มุมมองดูเหมือนสัดส่วนที่ถูกต้องมากขึ้น แต่ข้อความไม่โหลดลงในมุมมองข้อความหรือไม่ได้แสดงด้วยเหตุผลบางประการ ปุ่มต่างๆ อยู่ที่ส่วนเท้าและมีพื้นที่สีขาวสำหรับโหลดข้อความ อย่างไรก็ตามหากฉันลากมุมมองข้อความออกจากสแต็ก มันแสดงในตำแหน่งที่ถูกต้องไม่มากก็น้อย ฉันคิดว่าฉันทำได้ แค่ใช้ข้อจำกัดกับมัน แต่ฉันสงสัยว่าทำไมมันไม่โหลดเมื่อฝังอยู่ในสแต็ก รหัสจำเป็นต้องเปลี่ยนหรือไม่? ฉันเดาว่าร้านจะยังคงเหมือนเดิม... - person laurie; 18.05.2017
comment
ที่แปลกที่สุดคือผมสามารถลากมุมมองข้อความไปไว้ในมุมมองข้อความเดียวกันกับปุ่มต่างๆ ได้ ข้อความจึงแสดงออกมา (ถัดจากปุ่มต่างๆ อย่างที่คาดไว้ แต่หากผมใส่ลงในสแต็กแนวตั้ง (มีทั้งมุมมองข้อความและ สแต็กแนวนอน (ซึ่งจะกดปุ่มค้างไว้) ข้อความจะไม่แสดง :/ - person laurie; 18.05.2017
comment
นี่คือตัวอย่างโครงการที่แสดงปัญหา: dropbox.com/sh/yg3theu523m88oz/ AADSLKXQkrXAwXne54Z7aP3Ea?dl=0 หากคุณเรียกใช้งาน คุณจะเห็นว่าปุ่มต่างๆ ปรากฏขึ้น แต่ไม่มีข้อความ ถ้าฉันย้ายมุมมองข้อความออกจากสแต็ก... มันจะแสดง... ? - person laurie; 18.05.2017
comment
ไม่แน่ใจว่าลิงก์สุดท้ายจะให้สิทธิ์การเข้าถึงที่คุณต้องการหรือไม่ หากไม่ ให้ลองใช้ลิงก์นี้: dropbox.com/sh/3vxs1l8us9ltnkw/AAAuZRJDkqChKhyBKtw5V7Uta?dl=0 - person laurie; 18.05.2017
comment
@laurie มุมมองดูเหมือนสัดส่วนที่ถูกต้องมากขึ้น แต่ข้อความไม่โหลดลงในมุมมองข้อความหรือไม่แสดงด้วยเหตุผลบางอย่าง ฉันคิดว่าคำตอบของฉันได้แก้ไขปัญหาเค้าโครงของคุณแล้ว หากคุณกำลังประสบปัญหาอื่นๆ (อาจเกี่ยวข้องด้วยซ้ำ) คุณควรถามคำถามอื่น ฉันยินดีที่จะช่วยเหลือคุณที่นั่น ขอบคุณ. - person BangOperator; 19.05.2017

คุณมาถูกทางแล้วโดยใช้มุมมองแบบสแต็ก สิ่งที่คุณต้องทำคือตั้งค่าตัวเลือกการกระจายของ Stack View เป็น "เติมอย่างเท่าเทียมกัน" สิ่งนี้ทำได้ง่ายมากในกระดานเรื่องราว หากต้องการเพิ่มระยะห่าง ให้เปลี่ยนระยะห่างเป็นจำนวนระยะห่างที่คุณต้องการ (ฉันตั้งค่าไว้ที่ 15) ฉันได้แนบภาพหน้าจอของการตั้งค่าที่นี่ ดู "การเผยแพร่"

person Nevin Jethmalani    schedule 17.05.2017