Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone MFMailComposeViewController附件选项_Iphone_Email_Attachment_Mfmailcomposeviewcontroller - Fatal编程技术网

Iphone MFMailComposeViewController附件选项

Iphone MFMailComposeViewController附件选项,iphone,email,attachment,mfmailcomposeviewcontroller,Iphone,Email,Attachment,Mfmailcomposeviewcontroller,我正在iphone应用程序中使用MFMailComposeViewController,我想让用户选择将一些图片附加到电子邮件中 由于默认情况下没有特定的按钮,我正在考虑将MFMailComposeViewController子类化,并为此添加一个按钮。不幸的是,根据文档,视图显示后不应调用addAttachmentData:方法,因此在邮件合成期间无法进行选择 我还想过创建自己的mail composer视图,但根据这个问题,Apple不希望开发人员这样做,因为这可能被用来滥用用户的邮件帐户

我正在iphone应用程序中使用
MFMailComposeViewController
,我想让用户选择将一些图片附加到电子邮件中

由于默认情况下没有特定的按钮,我正在考虑将
MFMailComposeViewController子类化,并为此添加一个按钮。不幸的是,根据文档,视图显示后不应调用
addAttachmentData:
方法,因此在邮件合成期间无法进行选择

我还想过创建自己的mail composer视图,但根据这个问题,Apple不希望开发人员这样做,因为这可能被用来滥用用户的邮件帐户


因此,似乎唯一的解决方案是在显示MFMailCompose之前询问用户,用户更改选择的唯一方法是取消邮件合成并重新启动,对吗?

当用户点击“附加”按钮时,关闭MFMailComposeViewController并打开图像拾取控制器。拾取图像后,使用以前的内容和新图像作为附件创建一个新的MFMailComposeViewController。


我没有试过这个。你可以试一试

自我回答:对我来说,最简单的方法是在显示mail composer视图之前添加UIAlertView,询问用户是否要添加图像。
这就足够了,因为所有图像都应该一起发送(所以要么全部发送,要么不发送),但对于更复杂的情况(例如,选择一些来自iphone的图像),Anil Sivadas的回答可能是一个解决方案。

是否存在图形效果问题?事实上,我最终选择了一种更简单的方式:UIAlertView会在mail compose视图出现之前询问用户是否希望添加图片作为附件。如果他改变主意,他将不得不回去,但是邮件的内容使得这很不可能。