presentViewController: ภาพเคลื่อนไหว: มุมมองใช่จะไม่ปรากฏจนกว่าผู้ใช้จะแตะอีกครั้ง
presentViewController:animated:completionฉันได้รับบางพฤติกรรมแปลกกับ สิ่งที่ฉันกำลังทำคือเกมทายใจ ฉันมีUIViewController(frequencyViewController) ที่มีUITableView(frequencyTableView) เมื่อผู้ใช้แตะที่แถวที่มีปัญหา TableView ที่มีคำตอบที่ถูกต้องมุมมอง (correctViewController) ควรเป็นอินสแตนซ์และมุมมองควรเลื่อนขึ้นจากด้านล่างของหน้าจอเป็นมุมมองแบบโมดอล สิ่งนี้จะบอกผู้ใช้ว่าพวกเขามีคำตอบที่ถูกต้องและรีเซ็ต frequencyViewController ข้างหลังพร้อมสำหรับคำถามต่อไป correctViewController ถูกปิดเมื่อกดปุ่มเพื่อเปิดเผยคำถามถัดไป ทั้งหมดนี้ทำงานอย่างถูกต้องทุกครั้งและมุมมองของ correctViewController ปรากฏขึ้นทันทีตราบใดที่มีpresentViewController:animated:completionanimated:NO หากฉันตั้งanimated:YES, correctViewController viewDidLoadจะเริ่มต้นและทำให้การโทรไปยัง อย่างไรก็ตามviewWillAppear, viewDidAppearและบล็อกเสร็จสิ้นจากการpresentViewController:animated:completionไม่ได้เรียกว่า แอปเพิ่งตั้งอยู่ที่นั่นโดยยังคงแสดง frequencyViewController จนกว่าฉันจะแตะครั้งที่สอง ตอนนี้ viewWillAppear, viewDidAppear และบล็อกเสร็จสมบูรณ์ถูกเรียก ฉันตรวจสอบอีกเล็กน้อยและไม่ใช่แค่การแตะอีกครั้งที่จะทำให้มันดำเนินต่อไป ดูเหมือนว่าถ้าฉันเอียงหรือเขย่า iPhone ของฉันสิ่งนี้อาจทำให้เกิดการเรียกใช้ viewWillLoad เป็นต้นเหมือนกับว่ามันกำลังรอให้ผู้ใช้ป้อนข้อมูลอื่น ๆ ก่อนที่มันจะดำเนิน สิ่งนี้เกิดขึ้นบน iPhone จริงและในเครื่องจำลองซึ่งฉันพิสูจน์แล้วโดยส่งคำสั่งเขย่าไปยังเครื่องจำลอง ฉันรู้สึกสูญเสียจริงๆกับสิ่งที่ต้องทำเกี่ยวกับเรื่องนี้ ... ฉันขอขอบคุณสำหรับความช่วยเหลือที่ทุกคนสามารถให้ได้ ขอบคุณ นี่คือรหัสของฉัน ค่อนข้างเรียบง่าย ... นี่คือโค้ดใน questionViewController ที่ทำหน้าที่เป็นผู้รับมอบสิทธิ์ให้กับ …