0

注:Monotouchを使用し、すべてのUIをプログラムで実行します。

みなさん、こんにちは。

質問があります。

このメインのUIViewControllerオブジェクトがあり、その中に2つのUIVIewがあります。このビューは、一部のデバイスなどでコマンドを実行します。下に描画されているように、左側からスライダー効果が表示されるメニューを実行する予定です。このメニューでは、ユーザーはいくつかのボタンを選択します。これにより、別の2つのUIViewが変更されます。

これが私の質問です:

Modal View ControllerをUIModalPresentationPageSheetとして使用することを計画していますが、画面の中央に水平に表示するにはどうすればよいですか。左側中央に置きたいのですが。どうすれば変更できますか?

それが不可能な場合、UIPopoverを使用する必要がありますか?

下の画像

ここに画像の説明を入力してください

ありがとうございました。

リニカー

4

1 に答える 1

1

どちらもあなたが望むアニメーション効果を得るとは思わない。一般に、UIViewアニメーションを使用してビューをスライドすることを選択します。

if(IsDrawerVisible == false) {
    UIView.Animate(0.5, () => {

        DrawerView.Frame = new RectangleF(
            this.View.Bounds.Left + 300, 
            DrawerView.Frame.Y, 
            DrawerView.Frame.Width, 
            DrawerView.Frame.Height);

    }, UIViewAnimationOptions.CurveEaseIn); 
}
else {
    // Move the frame of the DrawerView by subtracting from Frame.X
}

もちろん、参照ポイント(通常は親UIViewの左境界)が必要であり、適切な計算を行って「ドロワー」コンポーネントをビューに移動します。ただし、これは任意です:-)

注: DrawerViewのタイプがUIViewController / DialogViewControllerの場合は、新しいiOS 5カスタム包含APIを使用してください。そうしないと、非常に不安定な動作が発生します。ここで子ビューコントローラに関する私のブログ投稿を参照してください:

http://blog.devnos.com/wont-somebody-please-think-of-the-children

于 2012-01-04T21:24:09.140 に答える