ios - bilah navigasi pada pengontrol modal yang disajikan dengan storyboard

Saya hanya ingin menambahkan bilah navigasi (dengan beberapa tombol bilah navigasi) pada pengontrol modal yang disajikan dengan storyboard.

Secara terprogram dengan XIB, tampilannya seperti itu:

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

[self presentModalViewController:navigationController animated:YES];

Tapi saya tidak tahu bagaimana menanganinya dengan Storyboard. Saya kira saya harus menerapkan beberapa kode pada metode -(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender tetapi karena properti destinationController dari objek segue hanya dapat dibaca, saya tidak begitu tahu bagaimana melakukan ini.

Ada ide ?


person Yaman    schedule 03.01.2013    source sumber


Jawaban (1)


Anda harus mengimplementasikan persiapan untuk segue, hanya jika Anda ingin meneruskan beberapa data ke pengontrol tampilan yang disajikan. Jika tidak, Anda dapat membiarkannya kosong. Penyajian View Controller berasal dari Interface Builder. Anda menambahkan pengontrol navigasi dengan pengontrol tampilan root dan membuat segue (ctrl + drag) ke pengontrol navigasi. Setel tipe segue ke modal, dan berikan ID. Anda dapat memicu segmen ini dari kode dengan memanggil [self perforSegueWithIdentiefier:@"MySegueID"];. Jika Anda menyeret segmen dari tombol atau sel tampilan tabel, segmen tersebut akan dipicu secara otomatis saat Anda mengetuknya, tanpa memanggil metode ini. Seperti yang saya katakan, dalam metode prepareForSegue, segue.destinationViewController akan menjadi pengontrol navigasi yang disajikan. Anda dapat mengakses topViewController jika Anda memerlukannya dan meneruskan beberapa data ke dalamnya.

person Levi    schedule 03.01.2013
comment
Oh bagus. Saya mencoba menyematkan NavigationController ke pengontrol pertama, tetapi saya tidak tahu mengapa saya tidak berpikir untuk menyematkannya ke pengontrol yang disajikan ... Saya punya pertanyaan terkait: apakah ini situasi normal untuk mengaktifkan 2 pengontrol navigasi? baris yang sama di storyboard saya? NavController--›FirstVC--(modal)--›NavController--›SecondVC. Atau apakah ini lebih baik menempatkan tombol kembali dll pada toolbar, misalnya, daripada menambahkan navcontroller ke tampilan yang saya sajikan? - person Yaman; 04.01.2013
comment
Saat Anda mempresentasikan sesuatu secara modal, boleh saja memiliki pengontrol navigasi baru di modal. Hal ini sama seperti tanpa storyboard, Anda membuat Pengontrol Navigasi dan menyajikannya secara modal. Seperti pada kode di pertanyaan Anda. - person Levi; 04.01.2013