SIN@SAPPOROWORKSの覚書

C#を中心に、夜な夜な試行錯誤したコードの記録です。

Xamarin.iOS スイッチ・セグメンテッドコントロール

【 Xamarin 記事一覧 】


1 スイッチ(UISwitch)

f:id:furuya02:20140611025125p:plain:w360:left
ストーリーボードでツールボックスからSwitchを置きます。





f:id:furuya02:20140611025126p:plain:w360:left
Switchコントロールを選択し、プロパティ「Identity」-「Name」で、名前を付けます。

ここまでの操作で、ViewControllerの制御クラスであるSingleView1ViewControllerで、この名前のインスタンスとして利用可能です。




f:id:furuya02:20140611025128p:plain:w150:leftf:id:furuya02:20140611025127p:plain:w150:left

スイッチのON/OFFが変化した際のイベントは、ValueChangedで取得可能です。

public override void ViewDidLoad() {
    base.ViewDidLoad();

    // Perform any additional setup after loading the view, typically from a nib.

    MySwitch.ValueChanged += (sender, args) =>{
        var sw = (UISwitch) sender;
        if (sw.On) {
             (new UIAlertView("SWの状態","ON",null,"OK",null)).Show();
        } else {
             (new UIAlertView("SWの状態", "OFF", null,"OK",null)).Show();
        }
    };
}

2 セグメンテッドコントロール(UISegmentedControl)

f:id:furuya02:20140611031117p:plain:w360:left
ストーリーボードでツールボックスからSegmentedControlを置きます。





f:id:furuya02:20140611031118p:plain:w360:left
Segmentedコントロールを選択し、プロパティ「Identity」-「Name」で、名前を付けます。

ここまでの操作で、ViewControllerの制御クラスであるSingleView1ViewControllerで、この名前のインスタンスとして利用可能です。




f:id:furuya02:20140611031119p:plain:w360:left

Segmentsでスイッチの数、Titleで表示文字を編集できます。




f:id:furuya02:20140611031121p:plain:w150:leftf:id:furuya02:20140611031120p:plain:w150:left
コントロールの選択が変化した際のイベントは、ValueChangedで取得可能です。

public override void ViewDidLoad() {
    base.ViewDidLoad();

    // Perform any additional setup after loading the view, typically from a nib.

    MySegmented.ValueChanged += (sender, args) =>{
        var sw = (UISegmentedControl) sender;
        (new UIAlertView("SegmentedControlの状態", sw.SelectedSegment.ToString(), null, "OK", null)).Show();
    };
}


※サンプルプロジェクトは、「ファイル」-「新規作成」ー「新しいプロジェクト」ー「テンプレート」

  • 「Vieual C#」- 「iOS」-「iPhone Storybord」-「Single View Application」から作成されています。

【 Xamarin 記事一覧 】