Xamarin.iosで画面遷移[storyboard使用]
色々調べてやったらできた方法(あんまり理解はしてない)
自分用メモ
まず適当にプロジェクト作成
で、左のソリューションバー?からMain.storyboard
を選択して開く
右のツールバーからNavigation Controller
をドラッグ&ドロップ
Navigation Controller
と一緒についてきたTable View Controller
がいまいちわからんので直接か右のドキュメントアウトラインから削除
次にいい感じに配置して、View Controller
についてた旗をNavigation Controller
にドラッグ&ドロップで移動
何故か増える
control押しながらNavigation Contorller
からView Controller
にドラッグ&ドロップすると水色の線が引かれる
このスクショはもう引き終わった後なのでこの段階では真ん中の矢印とTitle
の文字は出てこない
するとポップアップが出てくるのでRoot
を選択
矢印が出ます
これを実行するとちゃんとTitle
と書かれたView Controller
が表示される
次にボタンを押した時の遷移方法
ちょっとコードいじるよ
新しくView Controller
をツールバーからドラッグ&ドロップ
わかりやすいようにプロパティのBackgroundで色を変える
controlを押しながらView Controller
同士を結ぶ
この時、下のバーっぽいところ同士を結ぶ(多分)
またポップアップが出てくるのでPush
を選択
矢印が引かれる
見えにくいのでちょっとずらした
ちなみにこの矢印はSegue(セグエ)と呼ぶそう
Segueをクリックし、プロパティのIdentifier
を適当な名前に
今回はgoto_green
と命名
次にボタンを設置
右のツールバーからButton
を中央のView Controller
にドラッグ&ドロップ
プロパティのName
とTitle
を適当な名前にするよ
今回はName
をbtn_goto_green
Title
をClick me!!!!!
にしてみた
設置したボタンClick me!!!!!
をダブルクリックすると自動的にクリックイベントハンドラーが追加される
このガイドすごいよね
※画像に余計なコード含まれてるけど無視してね
追加されたメソッドに以下のコードを挿入
this.PerformSegue("goto_green", this);
元から入ってるthrow new NotImplementedException();
はコメントアウトしないとエラーでる
partial void Btn_goto_green_TouchUpInside(UIButton sender) { //throw new NotImplementedException(); this.PerformSegue("goto_green", this); }
こんなんなる
結果
参考