iOS 14 ตั้งค่าเมนู UIBarButttonItem ก่อนที่จะเปิด

Aug 19 2020

เนื่องจาก iOS14 เสนอวิธีง่ายๆในการตั้งค่าเมนูบนUIBarButtonItemนี้ฉันสงสัยว่าฉันพลาดที่ไม่มีวิธีง่ายๆในการตั้งค่ารายการเนื่องจากอาจขึ้นอยู่กับบริบทปัจจุบัน

ฉันเห็นว่ามีUIDeferredMenuElementแต่ดูเหมือนจะไม่เป็นกรณีการใช้งานที่ดีสำหรับมัน?

นอกจากนี้ฉันเห็นว่ามีprimaryActionแต่ดูเหมือนจะไม่มีวิธีที่น่าสนใจในการเรียกเมนูจากที่นั่น

และตัวเลือกที่สามดูเหมือนจะสับเปลี่ยนเมนูในการเปลี่ยนแปลงแต่ละครั้งที่อาจส่งผลกระทบ แต่ดูเหมือนจะไม่ใช่ความคิดที่ดี

ฉันคิดว่ามีบางอย่างที่ฉันพลาดไป

คำตอบ

1 matt Aug 19 2020 at 16:29

โดยทั่วไปสำหรับรายการปุ่มแถบธรรมดาไม่มีข้อกำหนดดังกล่าว UIControl เช่น UIButton มีเหตุการณ์.menuActionTriggeredและในขณะนั้นเป็นเรื่องที่สมเหตุสมผลในการสร้างและกำหนดเมนูให้กับตัวควบคุมดังนั้นการใช้เมนูไดนามิกที่สร้างขึ้นในทันทีก่อนที่เมนูจะปรากฏขึ้น

แต่คุณไม่สามารถทำได้ด้วยรายการปุ่มแถบ - เว้นแต่ว่าจะเป็นรายการปุ่มแถบมุมมองที่กำหนดเองที่มี UIButton อยู่

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

ฉันคิดว่าสิ่งที่คุณขอนั้นสมเหตุสมผลและดูเหมือนโง่ ๆ ที่ไม่มีข้อกำหนดสำหรับมัน หากคุณมีกรณีการใช้งานที่ดีฉันขอแนะนำให้ยื่นคำขอการปรับปรุงกับ Apple