以下の内容はhttps://matatabi-ux.hateblo.jp/entry/2014/10/22/120000より取得しました。


Xamarin.iOS で画面の回転を検知する

すでに GitHub にアップしているソースには含まれているのですが、Xamarin.iOS で画面の回転を検知する方法を紹介します

moonmile さんがすでに XamarinでAndroid/iOS/Windowsストアの回転に対応する | Moonmile Solutions Blog の記事の中でこの手の実装方法を共有されているのですが、まだ Xamarin.Forms が出る前の内容だったので今回は Xamarin.Forms を生かしたもう少し簡単な方法になります

やることは ViewRenderer に下記のコードを書くだけ!

/// <summary>
/// Element 変更イベントハンドラ
/// </summary>
/// <param name="e">イベント引数</param>
protected override void OnElementChanged(ElementChangedEventArgs<ArcStepper> e)
{
    base.OnElementChanged(e);

    var page = this.Element.ParentView.ParentView as Page;
    if (page == null)
    {
        return;
    }
    page.SizeChanged += this.OnSizeChanged;
}

/// <summary>
/// サイズ変更イベントハンドラ
/// </summary>
/// <param name="sender">イベント発行者</param>
/// <param name="e">イベント引数</param>
private void OnSizeChanged(object sender, EventArgs e)
{
    // 再描画する
    this.SetNeedsDisplay();
}

Draw メソッドがレスポンシブデザイン対応されていればこれだけで大丈夫でした

f:id:matatabi_ux:20141013123950p:plain

f:id:matatabi_ux:20141013124001p:plain

簡単ですね!

変更後のサイズに応じて縦横も判定できると思うので色々応用できそうです




以上の内容はhttps://matatabi-ux.hateblo.jp/entry/2014/10/22/120000より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14