1

このViewControllerを詳細ビューの上にモーダルで配置するにはどうすればよいですか? ナビゲーション部分がグレー表示されていることがわかるように、右揃えにします。

[self.window addSubview:self.splitViewController.view];
MyModalViewController *modalvc= [MyModalViewController new]; //brevity
modalvc.modalInPopover = YES;
modalvc.modalPresentationStyle = UIModalPresentationStylePageSheet;
modalvc.view.autoresizeMask = UIViewAutoresizeFlexibleRightMargin;
[self.splitViewController presentModalView:modalvc animated:NO];
[self.window makeKeyAndVisible];

また、ビューマスクを設定している場合は MyModalViewController をチェックインしましたが、そうではなく、Nib から魔法の値を取得していません。

(modalvc.view.frame を使用して) 現在より前のフレームを調整しても、何も起こりません。

現在の後にフレームを調整すると、クレイジーな結果が得られるようです。実際には、横向きで半分の幅にするだけで済みます...縦向きは通常の動作です。

画像を編集
して人々が混乱したので取り出しました。モーダル ビューを画面のサイズにしたくありません。UIModalPresentationStylePageSheet を維持したいのですが、ORIGIN を右に移動して、横向きの詳細ビュー部分を覆うようにします。

4

2 に答える 2

1

それmodalPresentationStyleを制御するのはそれです。UIModalPresentationStylePageSheetスクリーンショットとまったく同じように、高さを画面の高さに設定し、幅を縦向きの画面の幅に設定します。

ランドスケープで全幅を取得する唯一の方法は、を使用することだと思いますUIModalPresentationFullScreen。詳細については、UIViewController リファレンスを参照してください。

于 2011-07-26T07:56:08.777 に答える
0

同様の問題があり、フレームを操作して好きな場所に配置できる背景の半透明ビューと前景の不透明なビューを使用するカスタム ビュー コントローラーを使用することになりました。動画や画像のライトボックスとして重宝します。

于 2011-08-14T20:38:52.547 に答える