[Xamarin.Mac] セグエを使ったWindowの表示

今回はセグエ(画面と画面を接続するための部品)を使用して、別ウィンドウを表示する方法を見ていきます。

1.メイン画面の作成

はじめに、新規でCocoaアプリケーションプロジェクトを作成してください。

次に、ソリューションエクスプローラーからMain.storyboardを見つけ、ダブルクリックして開きます。

Xcodeが表示されるので、Buttonを1つ配置します。

2.サブウィンドウの追加

次にサブウィンドウを追加します。

オブジェクトライブラリからView Controllerを探して、デザインエリアにドラッグ&ドロップして追加してください。

配置したView Controllerには、表示したときにサブウィンドウであることがわかるようにLabelコントロールを配置して、「サブウィンドウ」という文字を設定しておきます。

Labelに表示する文字列は、Labelを選択状態にして、Attribute InspectorでTextプロパティを変更します。

3.サブウィンドウを表示する

次にButtonがクリックされたとき、配置されたサブウィンドウが表示されるようにしてみましょう。

1つめのView Controllerに配置したButtonを[control]キーを押しながらドラッグして、新しく配置したView Controllerの上でドロップします。

続いて、Action Segueダイアログが表示されます。このダイアログでは、接続する画面がどのように表示されるかを選択します。

ここではModalを選択することとします。

Modalを選択後は、新しく配置されたView Controllerに向かって矢印が接続されます。これがSegueです。

ここまで作成できたら[command]+[s]を押して保存をし、Visual Studioに戻ります。

実行ボタンを押して、動作を確認してみましょう。

はじめにメインウィンドウが表示されます。

Buttonをクリックすると、以下のようにサブウィンドウが表示されます。

Modal表示の場合は、サブウィンドウが閉じられるまで呼び出し元の画面を触ることはできません。

ここまで、1行もコードを書きませんでした。

このように単に画面を表示するだけであればコードを書かく必要はありません。

4.Action Segue

先ほど説明したようにAction Segueでは画面の表示方法を選択することができます。

Xcodeでサブウィンドウに接続された矢印(segue)を選択してKindを変更することでも表示方法を変更することができます。

それぞれがどのような画面になるかを見ていきましょう。なおModalについてはすでに説明済みなので割愛します。

4-1.Show

表示方法をShowにした場合は、Modalと同じようにサブウィンドウが表示されます。

Modalはサブウィンドウを閉じるまでメインウィンドウを触れませんが、Showはサブウィンドウが開いている状態でもメインウィンドウを触ることができます。

4-2.Sheet

Sheetは、メインウィンドウの上からスルスルッと下に向かって表示される画面になります。

サブウィンドウを閉じるには、コードを書く必要があります。これについては次回紹介します。

4-3.Popover

Popoverは吹き出しのように表示させることができます。