繁体   English   中英

单击取消时,电子邮件编辑器不会返回

[英]email composer does not go back when i click cancel

所以这是我的问题,我在twitter和Facebook中添加了一个工作表,但工作正常,但是当我在电子邮件编辑器中添加应用程序时,似乎该应用程序无法返回到原始屏幕并停留在电子邮件编辑器中。

 - (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {

//Each button title we gave to our action sheet is given a tag starting with 0.
if (buttonIndex == 0) {

    //Check Twitter accessibility and at least one account is setup.
    if([SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter]) {

        SLComposeViewController *tweetSheet =[SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter];

        //This is setting the initial text for our share card.
        [tweetSheet setInitialText:@"Switcher makes social networking easier, download it now from (LINK):D "];

        //Brings up the little share card with the test we have pre defind.
        [self presentViewController:tweetSheet animated:YES completion:nil];

    } else {
        //This alreat tells the user that they can't use built in socal interegration and why they can't.
        UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Sorry" message:@"You can't send a tweet right now, make sure you have logged into twitter aleady from your iphone settings." delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
        [alertView show];
    }

}else if (buttonIndex == 1) {

    //Check Facebook accessibility and at least one account is setup.
    if([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) {

        SLComposeViewController *facebookSheet =[SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];

        //This is setting the initial text for our share card.
        [facebookSheet setInitialText:@"Switcher makes social networking easier, download it now from (LINK) :D "];

        //Brings up the little share card with the test we have pre defind.
        [self presentViewController:facebookSheet animated:YES completion:nil];

    } else {
        //This alreat tells the user that they can't use built in socal interegration and why they can't.
        UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Sorry" message:@"You can't send a post right now, make sure you have logged into facebook aleady from your iphone settings" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
        [alertView show];
    }

}else if (buttonIndex == 2) {

    MFMailComposeViewController *mailContoller = [[MFMailComposeViewController alloc]init];
    [mailContoller setMailComposeDelegate:self];
    NSString *email = @"";
    NSArray *emailArray = [[NSArray alloc]initWithObjects:email,nil];
    NSString *message = @"hey download my application now";
    [mailContoller setMessageBody:message isHTML:NO];
    [mailContoller setToRecipients:emailArray];
    [mailContoller setSubject:@""];
    [self presentViewController:mailContoller animated:YES completion:nil];





}

您需要实现MFMailComposeViewControllerDelegate方法。 您需要使用该方法自行关闭邮件编辑器。

- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error {
    [self dismissViewControllerAnimated:controller completion:nil];
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM