我正在使用MFMailComposeViewController在我的应用中发送反馈。它工作正常。但问题在于,用户可以编辑/删除“到”地址。我想把它作为一个不可编辑的。可能是,用户可以在“到”字段中添加一些邮件地址。
但是他/她不应该删除反馈地址(这里是“support@xxxx.com”)。
这是我的代码......
MFMailComposeViewController *composeWindow = [[MFMailComposeViewController alloc] init];
composeWindow.mailComposeDelegate = self;
NSString *str = @"Subject of the feedback";
[composeWindow setSubject:[str stringByAppendingString:[[UIDevice currentDevice]systemVersion]]];
NSArray *toRecipients = [NSArray arrayWithObject: @"support@xxxx.com"];
[composeWindow setToRecipients:toRecipients];
[self presentModalViewController:composeWindow animated:YES];
[composeWindow release];
先谢谢
Rajkanth
答案 0 :(得分:6)
您无法自定义MFMailComposeViewController
以避免编辑。 Apple禁止这样做,原因很简单:用户而不是你必须确定要发送什么,向谁发送等等。这同样适用于允许发送SMS(文本)消息的UI控制器。当然,Apple不允许在没有与用户明确交互的情况下发送电子邮件或短信。用户必须验证并发送电子邮件或SMS消息。验证过程包括取消邮件或随意更改任何单个属性的功能,包括“收件人”。
答案 1 :(得分:6)
所有其他答案都是正确的。您无法更改MFMailComposeViewController的界面。但你有其他可能性。 ; - )
Three20 SDK还包括邮件编辑器。试试看。我认为它应该是那么多变,“to”字段不再可编辑。
我希望我的回答对你有所帮助。
Sandro Meier
修改强>
Three20 SDK暂时停止使用。因此,您不应再将它用于新项目。我建议你改用NimbusKit。这也是Three20 SDK团队推荐的。可悲的是,它不包含MailComposeViewController
答案 2 :(得分:3)
重要提示:邮件撰写界面本身不可自定义,您的应用程序不得修改。此外,在显示界面后,您的应用程序不允许对电子邮件内容进行进一步更改。用户仍然可以使用界面编辑内容,但忽略程序化更改。因此,您必须在呈现界面之前设置内容字段的值。