首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从ChildViewController演示ModalView

从ChildViewController演示ModalView
EN

Stack Overflow用户
提问于 2013-10-22 23:15:56
回答 1查看 293关注 0票数 0

在我的rootViewController中,单击一个按钮,我以这种方式添加了一个名为shareViewController的childViewController

代码语言:javascript
复制
[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中我写了这个

代码语言:javascript
复制
- (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应该呈现it.And,它应该在ShareViewController之上。

任何想法都很受欢迎。

问候兰吉特。

EN

回答 1

Stack Overflow用户

发布于 2013-10-23 15:35:35

尝试使用self presentViewController而不是modalview。如果这不起作用,你可以通过向你的rootVC发送通知来实现。这会贬低你的shareVC并呈现emailVC。-

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19521825

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档