Ios DismissViewController激活:将我的viewcontroller移动到初始控制器
我尝试从imageviewcontroller发送邮件,它工作正常,邮件与捕获的图像一起发送成功。当按下发送按钮时,mailcomposeviewcontroller将被解除,并显示用于登录目的的初始控制器,但实际上它应该移动到当前视图控制器,即imageviewcontroller imageviewcontroller中使用的代码Ios DismissViewController激活:将我的viewcontroller移动到初始控制器,ios,objective-c,xcode,mfmailcomposeviewcontroller,Ios,Objective C,Xcode,Mfmailcomposeviewcontroller,我尝试从imageviewcontroller发送邮件,它工作正常,邮件与捕获的图像一起发送成功。当按下发送按钮时,mailcomposeviewcontroller将被解除,并显示用于登录目的的初始控制器,但实际上它应该移动到当前视图控制器,即imageviewcontroller imageviewcontroller中使用的代码 - (IBAction)mail_button:(id)sender { if ([MFMailComposeViewController canSendMai
- (IBAction)mail_button:(id)sender
{
if ([MFMailComposeViewController canSendMail])
{
UIGraphicsBeginImageContext(self.view.bounds.size);
composeViewController = [[MFMailComposeViewController alloc] init];
// [composeViewController setMailComposeDelegate:self];
composeViewController.mailComposeDelegate = self;
// [composeViewController setToRecipients:@[@"example@email.com"]];
[composeViewController setSubject:@"Dressface Mail"];
[composeViewController setMessageBody:@"HI i am using dressface application its very awesome you too try this." isHTML:NO];
UIImage *myimage = [UIImage imageNamed:@"Default.png"];
NSData *imgdata = UIImagePNGRepresentation(myimage);
[composeViewController addAttachmentData:imgdata mimeType:@"image/png" fileName:@"Dressfaceimage"];
[self presentViewController:composeViewController animated:YES completion:nil];
}
}
- (void) mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error
{
switch (result)
{
case MFMailComposeResultCancelled:
NSLog(@"Mail cancelled");
break;
case MFMailComposeResultSaved:
NSLog(@"Mail saved");
break;
case MFMailComposeResultSent:
NSLog(@"Mail sent");
break;
case MFMailComposeResultFailed:
NSLog(@"Mail sent failure: %@", [error localizedDescription]);
break;
default:
break;
}
// Close the Mail Interface
[controller dismissViewControllerAnimated:YES completion:nil];
}
有人能帮我关闭mailcomposeviewcontroller并返回到放置mail_按钮的上一个控制器。您也可以在委托方法中写入这一行来关闭
MFMailComposeViewController
[[controller presentingViewController] dismissViewControllerAnimated:YES completion:nil];
您不应该忽略在didFinishWithResult方法中传递的MFMailComposeViewController,因为它管理邮件组合视图。你应该打电话
[self dismissViewControllerAnimated:YES completion:nil];
因为它将取消接收者提供的视图控制器,即您在其上提供MFMailComposeViewController的视图控制器。它应该返回到预览视图控制器,您从哪里调用它?这是您要返回的ViewController吗?您可以尝试
[自我解除ViewController激活:是完成:无]
@Alladinian,是的,首先我尝试了“self”与“controller”相同的效果@PiratM,是的,它应该返回到上一个controller,但在我的情况下,它会返回到登录页面,而不是上一个controller,我在不同的类中尝试了相同的代码它工作正常,但仅在cameraviewcontroller类中,其行为不正常。上述代码未在模拟器上运行,但在设备上正常工作。。。谢谢你的建议。是的,尝试了上面的代码,它再次推回到登录控制器。上面的代码没有在模拟器上运行,但在设备上正常工作。。。谢谢你的建议。是的,最初尝试过你的建议,它会推回到登录控制器上面的代码没有在模拟器上运行,但在设备上工作正常。。。谢谢你的建议。