ios5: запуск электронной почты из класса NSObject в другом модальном представлении - PullRequest
1 голос
/ 24 марта 2012

У меня есть общий лист действий (в классе NSObject), который вызывается из нескольких классов. Одним из действий является запуск электронной почты. Все отлично работает при вызове с первого загруженного NIB. Однако после того, как я переключу NIB с помощью модальных представлений, электронная почта (ее собственное модальное представление) не появится ни в одном из них (но все остальные действия работают нормально). Я предполагаю, что это потому, что это модальные представления, а не viewController, вызываемый делегатом приложения. Я предполагаю, что «rootViewController» ниже является проблемой. Я застрял. Помощь оценена.

-(void)SendEmail {


// all this NSObject to send emails
rootViewController = (UIViewController*)[(AppDelegate*)[[UIApplication sharedApplication] delegate] viewController];

// compose
MFMailComposeViewController* controller = [[MFMailComposeViewController alloc] init];
//controller.mailComposeDelegate = self;
controller.mailComposeDelegate = self;


//format message
NSArray *recipientsArray = [[NSArray alloc] initWithObjects:@"support@A___.com", nil];  // email recipients must be in an array
[controller setToRecipients:recipientsArray];
[controller setSubject:[NSString stringWithFormat:@"A question about %@",stuff]];
//[controller setMessageBody:outputMutString isHTML:YES];

//send
if (controller) {
    NSLog(@"email controller");
    [rootViewController presentModalViewController:controller animated:YES];
}

}

...