不能在iPhone中关闭电子邮件作曲家视图? [英] Can't dismiss the email composer view in iPhone?
问题描述
- (void)viewDidLoad
{
[super viewDidLoad];
[self displayComposerSheet];
}
- (void)displayComposerSheet
{
picker = [[MFMailComposeViewController alloc] init];
[[选择器导航栏] setTintColor:[UIColor blackColor]];
picker.mailComposeDelegate = self;
if([MFMailComposeViewController canSendMail])
{
[选择器setToRecipients:[NSArray arrayWithObjects:@name@gmail.com,nil]];
[picker setSubject:@Sample];
}
[self.view addSubview:picker.view];
[self presentModalViewController:picker animated:YES]; $($)
- (void)mailComposeController :( MFMailComposeViewController *)控制器didFinishWithResult:(MFMailComposeResult)结果错误:(NSError *)错误
{
[self dismissModalViewControllerAnimated:YES];
}
只添加mailcomposser的子视图,您必须从self.view中删除它,
在您的代码中,您正在添加子视图并显示,
如果您使用只能使用 [self.view addSubview:picker.view];
than
尝试删除它。
< (void)mailComposeController:(MFMailComposeViewController *)控件didFinishWithResult :( MFMailComposeResult)结果错误:(NSError *)错误
{
[controller.view removeFromSuperview] ;
}
我仍然建议使用
[self.navigationController presentModalViewController:picker animated:YES];
for MFMailComposeViewController,
并使用 [self dismissModalViewControllerAnimated:YES];
关闭它。
I am new to iphone development.I have created a tabbar based application . In the first i want the email composer to be displayed. I am able to display it but the cancel and send button are not working,I don't know where do i go wrong .Please help me out. Here is my code.
- (void)viewDidLoad
{
[super viewDidLoad];
[self displayComposerSheet];
}
-(void)displayComposerSheet
{
picker = [[MFMailComposeViewController alloc] init];
[[picker navigationBar] setTintColor:[UIColor blackColor]];
picker.mailComposeDelegate = self;
if ([MFMailComposeViewController canSendMail])
{
[picker setToRecipients:[NSArray arrayWithObjects:@"name@gmail.com",nil]];
[picker setSubject:@"Sample"];
}
[self.view addSubview:picker.view];
[self presentModalViewController:picker animated:YES];
}
- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error
{
[self dismissModalViewControllerAnimated:YES];
}
If you are adding only subview of mailcomposser you have to remove it from self.view, In your code you are adding subview and present also,
If you are use only use [self.view addSubview:picker.view];
than
Try with to remove it.
- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error
{
[controller.view removeFromSuperview];
}
I'm still suggest to use
[self.navigationController presentModalViewController:picker animated:YES];
for Present MFMailComposeViewController ,
and use [self dismissModalViewControllerAnimated:YES];
to dismiss it.
这篇关于不能在iPhone中关闭电子邮件作曲家视图?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!