C#メモ Visual Studio for MacでInterface BuilderとStoryboardを使わないでUIViewを表示させてみる

C#

なんか違うツールだからなぁって思ってたけど、基本的にはXCodeってかObjective-Cでやったときとおんなじだった。
ポイントはこんな感じ。

  • 単一ビューアプリを作成する
  • storyboardやデザイナに関係する要らないファイルを削除する
  • info.plistファイルを編集する
  • FinishedLaunchingメソッドでViewControllerを呼び出すようにAppDelegate.csのコードを直す

んで、手順としてはこんな感じ。
まずはプロジェクトの作成から。

  1. Visual Studioの起動画面で"新しいプロジェクト…"ボタンをクリックする。
  2. “単一ビューアプリ"のテンプレートを選択して"次へ"ボタンをクリックする。
    今回はiOSのアプリのカテゴリにある"単一ビューアプリ"を選択した。
  3. アプリ名を入力して"次へ"ボタンをクリックする。
    今回はアプリ名をProtoってした。
  4. プロジェクト名とかを入力して"作成"ボタンをクリックする。
    ただ、今回はデフォルトで入ってるアプリ名と同じ名前を使うことにした。
  5. プロジェクトが作成される。

要らないファイルを削除する。

  1. Visual Studioの左側のサイドバーで要らないファイルを選択する。
    選択するファイルはこれ。
    ・LaunchScreen.storyboard
    ・Main.storyboard
    ・ViewControllder.designer.cs
  2. 選択したファイルの上で右クリックメニューを表示して"削除"メニューをクリックする。

    削除していいか?って聞いてくるので、"削除"ボタンか"プロジェクトから削除"ボタンをクリックする。
    今回はファイル自体削除してしまってもいいので、"削除"ボタンをクリックした。

    ってことで、ファイルが削除されて左の再度バーから削除したファイルのアイコンが消える。

設定ファイルでStoryboardのファイルを読み込まないように編集する。

  1. 左のサイドバーにあるInfo.plistをクリックする。
  2. lnfo.plistの内容が表示されるのでUIに関係する設定を削除する。
    具体的には赤い丸で囲った項目が空欄になるようにする。

    ちなみに、設定はすぐに変更される。

AppDelegate.csを編集する。
コードはこんな感じ。

public override bool FinishedLaunching(UIApplication application, NSDictionary launchOptions)
{
    // Override point for customization after application launch.
    // If not required for your application you can safely delete this method

    // ウィンドウを初期化する
    // ※NativeBoundsだとスケールを考慮した実際のピクセル値が取得できる
    // ※ちなみにBoundsだとスケール考慮前のピクセル値になってしまうので注意
    Window = new UIWindow(UIScreen.MainScreen.NativeBounds);

    // ビューコントローラを作成する
    UIViewController viewController = new UIViewController();
    viewController.View.BackgroundColor = UIColor.Orange;

    // ビューコントローラを反映する
    Window.RootViewController = viewController;
    Window.MakeKeyAndVisible();

    return true;
}

んで、実行してみるとこんな感じ。
シミュレータではこんな感じで表示された。

一応、コードで実装した内容は反映されとるみたい。

んまま、明日への自分へのメモってことで。