我正在制作照片预览组件。现在我遇到了显示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显示在预览组件下面。只有当我关闭预览组件时,才能看到modalViewController。我有什么不对的吗?
答案 0 :(得分:3)
不要在viewer
之上添加window
。而是添加你的rootViewController.view.
那应该解决这个问题。如果可能,请尽量不要在rootViewController
上添加除window
之外的任何内容。无论您想添加什么,都可以添加到rootViewController
。