ios - ModalViewController 隐藏在 View 下

标签 ios viewcontroller mfmailcomposeviewcontroller presentmodalviewcontroller uiwindow

我正在开发一个照片预览组件。现在我遇到了显示 modalViewController 的问题:当我想显示预览 View 时,我正在做的是这样的:

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

关闭预览 View 时,我正在做的是这样的:

[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 显示在预览组件下。只有当我关闭预览组件时,我才能看到modalViewController。我有什么错吗?

最佳答案

不要在窗口顶部添加查看器。相反,添加您的 rootViewController.view。 这应该可以解决这个问题。如果可能的话,尽量不要在 window 上添加除 rootViewController 之外的任何内容。之后您想添加的任何内容都可以添加到 rootViewController 上。

关于ios - ModalViewController 隐藏在 View 下,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13814527/

相关文章:

ios - MFmailComposer 错误

JavaScript 函数在 iOS 中不起作用

objective-c - Objective C 中的无效 float 比较

ios设置AppleLanguages并提交到应用商店

ios - iOS 应用程序保证在后台停留多长时间而不被从内存中删除?

Swift 函数不在更新 View 中绘制圆圈

ios - MPMoviePlayerController - 全屏 | swift

ios - Alamofire JSON 序列化错误 - Swift 2.0

ios - 多个 ViewController(containerView?childView?viewController 的实例?)

ios - 在 iOS 模拟器上模拟 MFMailComposeViewController。只需要显示 Composer