iOS - แถบนำทางบนตัวควบคุมโมดอลที่นำเสนอพร้อมกระดานเรื่องราว

ฉันเพียงต้องการเพิ่มแถบนำทาง (พร้อมปุ่มแถบนำทาง) บนตัวควบคุมโมดอลที่นำเสนอพร้อมกระดานเรื่องราว

โดยทางโปรแกรมด้วย XIB ดูเหมือนว่า:

SDMapController *mapController = [[SDMapController alloc] initWithNibName:@"SDMapController" bundle:nil];
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:mapController];

[self presentModalViewController:navigationController animated:YES];

แต่ฉันไม่รู้ว่าจะจัดการกับมันอย่างไรด้วย Storyboard ฉันเดาว่าฉันต้องใช้โค้ดบางตัวในเมธอด -(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender แต่เนื่องจากคุณสมบัติ destinationController ของอ็อบเจ็กต์ segue เป็นแบบอ่านอย่างเดียว ฉันจึงไม่รู้วิธีการทำเช่นนี้จริงๆ

มีความคิดอะไรบ้าง?


person Yaman    schedule 03.01.2013    source แหล่งที่มา


คำตอบ (1)


คุณต้องดำเนินการเตรียมการสำหรับการทำต่อ เฉพาะในกรณีที่คุณต้องการส่งข้อมูลบางส่วนไปยังตัวควบคุมมุมมองที่คุณนำเสนอเท่านั้น มิฉะนั้นคุณสามารถปล่อยว่างไว้ได้ การนำเสนอ View Controller มาจาก Interface Builder คุณเพิ่มตัวควบคุมการนำทางด้วยตัวควบคุมรูทวิวและสร้างส่วนต่อ (ctrl + ลาก) ให้กับตัวควบคุมการนำทาง ตั้งค่าประเภท segue เป็น modal และกำหนด ID คุณสามารถทริกเกอร์การดำเนินการต่อนี้ได้จากโค้ดโดยโทร [self perforSegueWithIdentiefier:@"MySegueID"]; หากคุณลากส่วนต่อจากปุ่มหรือเซลล์มุมมองตาราง ระบบจะเรียกใช้โดยอัตโนมัติเมื่อคุณแตะโดยไม่ต้องเรียกใช้วิธีนี้ อย่างที่ฉันบอกไปแล้วว่าในวิธี prepareForSegue นั้น segue.destinationViewController จะเป็นตัวควบคุมการนำทางที่นำเสนอ คุณสามารถเข้าถึง topViewController ได้หากต้องการและส่งข้อมูลบางส่วนไปให้

person Levi    schedule 03.01.2013
comment
ดี. ฉันพยายามฝัง NavigationController เข้ากับคอนโทรลเลอร์ตัวแรก แต่ฉันไม่รู้ว่าทำไมฉันไม่คิดว่าจะฝังมันลงในคอนโทรลเลอร์ที่นำเสนอ ... ฉันมีคำถามที่เกี่ยวข้อง: นี่เป็นสถานการณ์ปกติหรือไม่ที่จะมีตัวควบคุมการนำทาง 2 ตัวเปิดอยู่ บรรทัดเดียวกันในกระดานเรื่องราวของฉัน ? NavController-->FirstVC--(กิริยา)-->NavController-->SecondVC หรือจะดีกว่าถ้าวางปุ่มย้อนกลับ ฯลฯ บนแถบเครื่องมือ แทนที่จะเพิ่ม navcontroller ให้กับมุมมองที่นำเสนอของฉัน - person Yaman; 04.01.2013
comment
เมื่อคุณนำเสนอบางสิ่งบางอย่างแบบโมดอล เป็นเรื่องปกติที่จะมีตัวควบคุมการนำทางใหม่ในโมดอล มันก็เหมือนกับการไม่มีสตอรี่บอร์ด คุณสร้าง Navigation Controller และนำเสนอในรูปแบบ modally เช่นเดียวกับรหัสในคำถามของคุณ - person Levi; 04.01.2013