Saya baru saja menginstal Xcode 4.5 untuk dukungan iOS6, dan saya telah melihat ikon baru bernama 'Keluar' di Storyboard saya, terdaftar di bawah pengontrol tampilan saya bersama dengan 'Responder Pertama' dll. Ikon hijau kecil berlabel 'Keluar'.
Saya dapat menemukan apa pun di dalamnya atau mencari tahu bagaimana itu dapat digunakan.
Ada yang tahu tentang itu, bagaimana cara kerjanya, untuk apa?
iphone
objective-c
xcode
ipad
storyboard
Josh Kahane
sumber
sumber
Jawaban:
Ini disebut " Segue Bersantai ". Sayangnya tidak ada dokumentasi untuk sejauh ini kecuali penyebutan singkat tentang daftar fitur baru XCode 4.5 yang menyatakan:
Kabar baiknya, ada sesi dari WWDC 2012 yang menjelaskan tentang makhluk-makhluk itu (antara lain).
Anda cukup masuk ke Apple's iOS Dev Center dengan detail akun pengembang Anda dan kemudian pergi ke halaman video WWDC 2012 dan menonton "Mengadopsi Storyboard di Aplikasi Anda" (itu kelima dari atas) Diskusi tentang segmen santai dimulai pada waktu 37:20 .
Pembaruan: Berikut adalah beberapa info lebih lanjut tentang subjek dari dokumentasi Apple
(Dari docset iOS6> Umum> Memulai)
Dan berikut adalah contoh yang bagus tentang bagaimana Anda dapat menerapkannya
Pembaruan Lain:
Berikut catatan teknis dari Apple terkait topik ini.
sumber
exit
tombol memilih metode yang ingin Anda panggil. Anda dapat menemukan contoh di sini (saya telah memperbarui jawaban saya juga untuk memasukkan contoh)Bayangkan Anda memiliki urutan tampilan di papan cerita Anda:
A -> ... -> Z
Anda ingin memiliki tombol pada tampilan
Z
yang memungkinkan pengguna untuk kembali keA
.Jadi yang perlu Anda lakukan adalah memberikan tampilan yang ingin Anda kembalikan sepenuhnya ke, dalam hal ini,
A
metode instance yang ditandai sebagai aIBAction
dan mengambil satu parameter tipeUIStoryboardSegue *
. Nama metode dan variabel tidak penting. Apa yang Anda lakukan dalam implementasi juga tidak penting. Berikut contohnya:Obj-C: Antarmuka
Dalam
A
(bukanZ
):Dalam
A
Implementasi (bukanZ
):Swift:
Dalam
A
sumber (bukanZ
):Sekarang, dalam storyboard Anda, controltarik dari sebuah elemen pada
Z
ke (IE, tombol membatalkan)Z
'sExit
. Ini akan memindai melalui semua tampilan yang lebih tinggi dalam hierarki tampilan yang memilikiIBAction
yang hanya menerima satuUIStoryboardSegue *
sebagai tindakan dan mencantumkannya untuk Anda pilih.Semoga ini lebih lugas dan bermanfaat dari jawaban yang ada. Saya menemukan bahwa tautan ini sangat berguna, jadi jika ada detail yang Anda masih tidak jelas setelah membaca jawaban saya, mungkin ini dapat membantu Anda (saya mencoba menyingkat semua info berguna dari artikel panjang ini menjadi jawaban singkat): http://www.freelancemadscience.com/fmslabs_blog/2012/9/24/advanced-storyboard-techniques.html
sumber
Lihat juga Tidak Dapat Menghubungkan Segue Lepas Papan Cerita yang menjelaskan persyaratan untuk menghidupkan ikon Keluar. Anda harus memiliki, lebih tinggi dalam hierarki pengontrol tampilan, metode yaitu:
Ditandai sebagai IBAction
Mengambil satu parameter yaitu UIStoryboardSegue *
Jika kedua kondisi tersebut terpenuhi, ikon Keluar akan melihatnya dan akan mengizinkan Anda menyambungkannya dengan menarik-kontrol dari tombol di pengontrol tampilan yang sama.
Sekarang saya juga telah memposting contoh paling sederhana di dunia di sini:
https://github.com/mattneub/Programming-iOS-Book-Examples/tree/master/ch19p638presentedViewControllerStoryboard (diperbaiki 12 Juli 2013)
Ini menunjukkan betapa mudahnya sekarang untuk berpindah ke dan kembali dari pengontrol tampilan yang disajikan, sebagai lawan dari semua pekerjaan yang harus Anda lakukan sebelumnya untuk memberikan info bolak-balik (hal-hal di template dengan delegasi dan protokol , yang semuanya sekarang dapat dihapus).
sumber
Hanya menambahkan sedikit kehalusan pada definisi persyaratan yang mungkin bisa membantu. Ini didasarkan pada percobaan di Xcode 4.6. Saya menemukan bahwa ini secara khusus dan hanya mendeklarasikan (!) Dari metode yang memungkinkan respons control-drag yang diinginkan dari Xcode. Inilah yang saya temukan sebagai persyaratan lengkap:
IBAction
UIStoryboardSegue
*.M
implementasi])..M
, kecuali kelas appdelegate. (Saya tidak melihat ketergantungan apa pun pada posisinya dalam hierarki pengontrol. Anda dapat menambahkan file lama apa pun dan sistem tampaknya menggabungkan semua metode yang memilikiUIStoryboardSegue
parameter dan menampilkannya di menu ikon Keluar.) Perhatikan bahwa kontrol-seret menu bahkan akan menunjukkan metode Anda jika metode tersebut berada dalam kelas adegan yang Anda manipulasi di editor storyboard, tetapi metode tersebut akan muncul tanpa titik dua dan tampaknya tidak memicu tindakan apa pun pada waktu proses.Contoh:
-(IBAction)anymethodname:(UIStoryboardSegue *)myvariable;
sumber