Visual Studio for MacでiOSサンプルアプリ作る


Visual Studio for MacでiOSアプリを作ってみたいと思います。
まず、Visual Studioを起動します。

![スクリーンショット 2017-10-08 20.13.30.png](https://qiita-image-store.s3.amazonaws.com/0/203704/7e58d02e-d729-31d2-f8bc-4e4dcb0c4626.png "スクリーンショット 2017-10-08 20.13.30.png")

[New Project]をクリックします。

![スクリーンショット 2017-10-08 20.20.42.png](https://qiita-image-store.s3.amazonaws.com/0/203704/c4d1a99d-e7b4-a7ce-89a6-8088d71d2170.png "スクリーンショット 2017-10-08 20.20.42.png")

左ツリーで[iOS]-[アプリ]を選択して、右ペインで[単一ビューアプリ]を選択します。

![スクリーンショット 2017-10-08 20.23.09.png](https://qiita-image-store.s3.amazonaws.com/0/203704/8d99144d-ce04-29b2-620b-8d531f2cd331.png "スクリーンショット 2017-10-08 20.23.09.png")

[アプリ名]に任意の文字を入力して、[次へ]をクリックします。

![スクリーンショット 2017-10-08 20.25.38.png](https://qiita-image-store.s3.amazonaws.com/0/203704/2ef30020-f561-b44f-b17a-2ae1cfd9aba9.png "スクリーンショット 2017-10-08 20.25.38.png")

私は、場所を変更しましたが、気にならない方はそのまま[作成]ボタンを押します。

![スクリーンショット 2017-10-08 20.27.41.png](https://qiita-image-store.s3.amazonaws.com/0/203704/9cc89e18-7e64-9be4-cc60-8c53ee336676.png "スクリーンショット 2017-10-08 20.27.41.png")

Main.storyboardをダブルクリックで開きます。

![スクリーンショット 2017-10-08 20.29.34.png](https://qiita-image-store.s3.amazonaws.com/0/203704/db203113-2986-85c7-1433-223d3a10fa6f.png "スクリーンショット 2017-10-08 20.29.34.png")

[VIEW AS]の右をクリックして、iphoneやipadを切り替えれます。
iphone X が発売されようとしている時期にiphone6までしか選べないのは、ちょっとびっくりしました。

![スクリーンショット 2017-10-08 20.30.23.png](https://qiita-image-store.s3.amazonaws.com/0/203704/647c6aba-422d-72d2-e9c1-742db9c14a68.png "スクリーンショット 2017-10-08 20.30.23.png")

右上のペインで部品が検索できるので、検索して[label]と[button]をドラッグドロップで配置しました。

![スクリーンショット 2017-10-08 20.39.15.png](https://qiita-image-store.s3.amazonaws.com/0/203704/005ecc30-d114-e3b5-e6d4-af84a032724b.png "スクリーンショット 2017-10-08 20.39.15.png")

Visual Studioで開発する要領でbuttonをダブルクリックすると、自動でクリックイベントのソースが表示されるかと思って、試すと下記の画面になりました。

![スクリーンショット 2017-10-08 20.41.17.png](https://qiita-image-store.s3.amazonaws.com/0/203704/49f9b750-ee8b-19a8-89da-7a32b7a00f76.png "スクリーンショット 2017-10-08 20.41.17.png")

[ViewController.cs]が開かれてソースが表示されたので、Enterキーを押すと、コードが増えました。
ここら辺は、さすがVisual Studioだと思いました。

![スクリーンショット 2017-10-08 20.43.44.png](https://qiita-image-store.s3.amazonaws.com/0/203704/e2271e02-0a76-ce9e-094d-d04c2a9ec83d.png "スクリーンショット 2017-10-08 20.43.44.png")

「ボタンを押したら、labelの文字が変わる」という簡単なアプリを作ろうと思います。

先ほど作ったラベルにどうアクセスするのか、いつものVisual Studio開発と同じなら、プロパティに変数名を記載するところがあるはずと思って見ると、やっぱりありました。

ウィンドウ右下にプロパティペインがあります。

![スクリーンショット 2017-10-08 20.49.09.png](https://qiita-image-store.s3.amazonaws.com/0/203704/e8c8acc0-1a12-4efd-5dee-e031457fce6e.png "スクリーンショット 2017-10-08 20.49.09.png")

ここの[Identity]の[Name]に「label01」と入力すると、ViewController.csでアクセスできるようになりました。
（うーん、さっきのボタンもName入力しておけば良かった。。。）

ViewController.csを次のように変えてみました。

```C#:ViewController.cs
using System;

using UIKit;

namespace SampleApp
{
    public partial class ViewController : UIViewController
    {
        partial void UIButton394_TouchUpInside(UIButton sender)
        {
            label01.Text = "変更したよ！";
        }

        protected ViewController(IntPtr handle) : base(handle)
        {
            // Note: this .ctor should not contain any initialization logic.
        }

        public override void ViewDidLoad()
        {
            base.ViewDidLoad();
            // Perform any additional setup after loading the view, typically from a nib.
        }

        public override void DidReceiveMemoryWarning()
        {
            base.DidReceiveMemoryWarning();
            // Release any cached data, images, etc that aren't in use.
        }
    }
}
```

ウィンドウ左上の実行ボタンっぽいボタンを押せば実行できるのかと思い、押すと。

![スクリーンショット 2017-10-08 20.55.06.png](https://qiita-image-store.s3.amazonaws.com/0/203704/31d81fcc-e27a-0e66-0a32-8ae11e8fc833.png "スクリーンショット 2017-10-08 20.55.06.png")

simulatorを選択する画面が表示され、わからないので[キャンセル]ボタンを押すと起動しました〜。
（追記：再生ボタン押す前にボタンの右でシミュレータ選べました。）

![スクリーンショット 2017-10-08 21.02.09.png](https://qiita-image-store.s3.amazonaws.com/0/203704/33ba5d82-f44e-617f-3206-fea42c1f86b4.png "スクリーンショット 2017-10-08 21.02.09.png")

あれ、さっきの[VIEW AS]ではiphone 6までしか選べなかったのに、シミュレータの下にはiphone 8の文字が。
もしかして、[VIEW AS]はディスプレイの大きさを選ぶだけなのかな。

ボタンを押すと、ラベルが変わりましたが、長さが足りなかった。。。

![スクリーンショット 2017-10-08 21.03.49.png](https://qiita-image-store.s3.amazonaws.com/0/203704/2735561e-1bb0-611c-2dc0-7a9604255439.png "スクリーンショット 2017-10-08 21.03.49.png")

Visual Studioで Windowsアプリケーションを作る感覚でできるのはすごいと思いました。