2

写真プレビューコンポーネントに取り組んでいます。ここで、modalViewControllerを表示する際の問題が発生しました。プレビュービューを表示したい場合、私が行っていることは次のようになります。

UIWindow *window = [[[UIApplication sharedApplication] delegate] window];
EKImageViewer *viewer = [[EKImageViewer alloc] initWithFrame:frame];
[window addSubview:viewer];
[window addSubview:viewer.preview];
[window addSubview:viewer.shareBtn];//A UIButton control

プレビュービューを閉じるとき、私がしていることは次のようになります。

[viewer.shareBtn removeFromSuperview];
[viewer.preview removeFromSuperview];
[viewer removeFromSuperview];

プレビューコンポーネントでshareBtn(UIButton)をタップすると、モーダルビュー(MFMailComposeViewController)が表示されます。

MFMailComposeViewController* controller = [[MFMailComposeViewController alloc] init];
controller.mailComposeDelegate = self;
[[[[[UIApplication sharedApplication] delegate] window] rootViewController] presentModalViewController:controller animated:YES];

奇妙なことが起こります。モーダルビューコントローラーがプレビューコンポーネントの下に表示されます。プレビューコンポーネントを閉じたときにのみ、modalViewControllerが表示されました。私が間違っていたことはありますか?

4

1 に答える 1

3

viewerの上に追加しないでwindowください。代わりにあなたを追加してくださいrootViewController.view.それはこれを解決するはずです。可能であれば、を除いて何も追加しないようにしてrootViewControllerくださいwindow。その後に追加したいものは何でもに追加できますrootViewController

于 2012-12-11T06:04:44.217 に答える