小编dia*_*nna的帖子

警告:尝试在视图不在窗口层次结构中的ViewController上显示ViewController

我已经查看过相关问题,但没有解决我的问题.

我试图使用dismissViewControllerAnimated:animated:completionpresentViewControllerAnimated:animated:completion连续.使用故事板,我通过部分卷曲动画模拟呈现InfoController.

部分卷曲显示我想要启动的InfoController上的按钮MFMailComposeViewController.因为部分卷曲部分隐藏了MFMailComposeViewController,我首先要通过取消动画部分卷曲来解除InfoController.然后我想要MFMailComposeViewController动画片.

目前,当我尝试这个时,部分卷曲没有动画,但是MFMailComposeViewController没有得到呈现.我也有一个警告:

警告:尝试在InfoController上显示MFMailComposeViewController:其视图不在窗口层次结构中!

InfoController.h:

#import <UIKit/UIKit.h>
#import <MessageUI/MessageUI.h>
#import <MessageUI/MFMailComposeViewController.h>

@interface InfoController : UIViewController <MFMailComposeViewControllerDelegate>

@property (weak, nonatomic) IBOutlet UIButton *emailMeButton;

-(IBAction)emailMe:(id)sender;

@end
Run Code Online (Sandbox Code Playgroud)

InfoController.m

#import "InfoController.h"

@interface InfoController ()

@end

@implementation InfoController 

- (void)viewDidLoad
{
    [super viewDidLoad];
}

- (IBAction)emailMe:(id)sender {
    [self dismissViewControllerAnimated:YES completion:^{
        [self sendMeMail];
    }];
}

- (void)sendMeMail {
MFMailComposeViewController *mailController = [[MFMailComposeViewController alloc] init];
if([MFMailComposeViewController canSendMail]){
    if(mailController)
    {
        NSLog(@"%@", self); // This returns …
Run Code Online (Sandbox Code Playgroud)

iphone objective-c ios

9
推荐指数
2
解决办法
1万
查看次数

标签 统计

ios ×1

iphone ×1

objective-c ×1