เพียงหยิบการอ้างอิงไปยังคอนโทรลเลอร์มุมมองเป้าหมายในprepareForSegue:
วิธีการและส่งผ่านวัตถุใด ๆ ที่คุณต้องการ นี่คือตัวอย่าง ...
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
// Make sure your segue name in storyboard is the same as this line
if ([[segue identifier] isEqualToString:@"YOUR_SEGUE_NAME_HERE"])
{
// Get reference to the destination view controller
YourViewController *vc = [segue destinationViewController];
// Pass any objects to the view controller here, like...
[vc setMyObjectHere:object];
}
}
การแก้ไข: คุณยังสามารถใช้ performSegueWithIdentifier:sender:
วิธีการเปิดใช้งานการเปลี่ยนเป็นมุมมองใหม่ตามการเลือกหรือกดปุ่ม
ตัวอย่างเช่นลองพิจารณาฉันมีตัวควบคุมมุมมองสองตัว ปุ่มแรกประกอบด้วยปุ่มสามปุ่มและปุ่มที่สองจำเป็นต้องรู้ว่าปุ่มใดถูกกดก่อนการเปลี่ยนภาพ คุณสามารถวางสายปุ่มลงIBAction
ในรหัสของคุณซึ่งใช้performSegueWithIdentifier:
วิธีการเช่นนี้ ...
// When any of my buttons are pressed, push the next view
- (IBAction)buttonPressed:(id)sender
{
[self performSegueWithIdentifier:@"MySegue" sender:sender];
}
// This will get called too before the view appears
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"MySegue"]) {
// Get destination view
SecondView *vc = [segue destinationViewController];
// Get button tag number (or do whatever you need to do here, based on your object
NSInteger tagIndex = [(UIButton *)sender tag];
// Pass the information to your destination view
[vc setSelectedButton:tagIndex];
}
}
แก้ไข: แอปพลิเคชันตัวอย่างที่ฉันแนบมาตอนนี้อายุหกขวบดังนั้นฉันจึงลบมันเพื่อหลีกเลี่ยงความสับสน