2009-11-04 2 views
1

Apple, содержит код для использования MFMailComposeViewController.but используетMFMailComposeViewController может быть без currentModalViewController?

- (IBAction)buttonPressed 
{ 

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

[controller setSubject:@"In app email..."]; 

[controller setMessageBody:@"...a tutorial from mobileorchard.com" isHTML:NO]; 

[self presentModalViewController:controller animated:YES]; 

[controller release]; 

} по умолчанию он использует снизу вверх transition.suppose, если я хочу использовать следующее, это дает неправильный вывод. Могу ли я использовать другой добавить подвид, как, что вместо presentModalViewController

{ 

    UIViewAnimationTransition trans = UIViewAnimationTransitionFlipFromRight; 

[UIView beginAnimations: nil context: nil]; 
[UIView setAnimationTransition:trans forView: [self view] cache: YES]; 
    [self presentModalViewController: controller animated:YES]; 
[UIView commitAnimations]; 
} 

он правильно работает для другого контроллера представления, но он не работает в MFMailComposeViewController любой помощи, пожалуйста?

привет, я сделал, как это, но текущий контроллер зрения переворачивается, а затем композитор происходит от дна ..? Вы поможете? - (IBAction) clickedMailButton: (идентификатор) отправитель

{ 

    if ([MFMailComposeViewController canSendMail]) 
{ 

     MFMailComposeViewController *mcontroller = [[MFMailComposeViewController alloc]init]; 
    //[mcontroller setSubject:@"My Pocket Schedule"]; 
    [mcontroller setTitle:@"New Message"]; 
    [mcontroller setMessageBody:@"Check out My Pocket Schedule in the iTune Store" isHTML:NO]; 
    mcontroller.mailComposeDelegate = self; 
    UIViewAnimationTransition trans = UIViewAnimationTransitionFlipFromRight; 
    [UIView beginAnimations: nil context: nil]; 
    [UIView setAnimationTransition:trans forView: [self view] cache: YES]; 
    [self presentModalViewController:mcontroller animated:YES]; 
    [UIView commitAnimations]; 
    [mcontroller release]; 
} 

ответ

0

Используйте modalTransitionStyle свойство:

MFMailComposeViewController *mcontroller = [[MFMailComposeViewController alloc] init]; 
[mcontroller setTitle:@"..."]; 
[mcontroller setMessageBody:@"..." isHTML:NO]; 
mcontroller.mailComposeDelegate = self; 
mcontroller.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; 
[self presentModalViewController:mcontroller animated:YES]; 
[mcontroller release]; 
+0

я сделал это exactly..it не работает –

+0

он не работал в текущемModalViewController MFMailComposer. у вас проверены PLS? –

+0

Да, я проверил его, и он работал, как ожидалось. –

Смежные вопросы