在我的 rootViewController 中,单击按钮后,我以这种方式添加了一个名为 shareViewController 的 childViewController
[self addChildViewController:m_shareViewController];
[[self view] addSubview:[m_shareViewController view]];
[[[[UIApplication sharedApplication] delegate] window] addSubview:m_shareViewController.view];
[m_shareViewController didMoveToParentViewController:self];
我使用动画来显示这个视图从屏幕底部到中间出现
这个 shareViewController 有一个名为 email 的选项,所以在 myShareViewController.m 我写了这个
- (IBAction)email:(id)sender
{
MFMailComposeViewController *emailDialog = [[MFMailComposeViewController alloc] init];
[emailDialog setMailComposeDelegate:self];
if ([MFMailComposeViewController canSendMail])
{
[self presentModalViewController:composer animated:YES];
}
else
{
return;
}
}
//function to handle errors while sending an email
-(void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error
{
if (error)
{
[self dismissViewControllerAnimated:YES completion:NULL];
}
else
{
[self dismissViewControllerAnimated:YES completion:NULL];
}
}
所以我面临的问题是 emailCompose ViewController 出现在我的 ShareViewController 后面并且变暗了。我知道为什么会这样,因为我使用“self”来展示 emailComposeVC。
但我想要的是 ShareViewController 应该呈现它。它应该在 ShareViewController 之上。
任何想法表示赞赏。
问候兰吉特。