如何自定义MFMailComposeViewController以便我可以将"to"字段设置为不可编辑?

4 email iphone feedback mfmailcomposeviewcontroller

我正在使用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];
Run Code Online (Sandbox Code Playgroud)

提前致谢

Rajkanth

Mas*_*aro 6

您无法自定义MFMailComposeViewController以避免编辑.Apple禁止这样做,原因很简单:用户而不是你必须确定要发送什么,向谁发送等等.这同样适用于允许发送SMS(文本)消息的UI控制器.当然,Apple不允许在没有与用户明确交互的情况下发送电子邮件或短信.用户必须验证并发送电子邮件或SMS消息.验证过程包括取消消息或随意更改任何单个属性的功能,包括"收件人".


San*_*ier 6

所有其他答案都是正确的.您无法更改MFMailComposeViewController的界面.但你有其他可能性.;-)

Three20 SDK还包括Mail Composer.试试看.我认为它应该是那么多变,"to"字段不再可编辑.

我希望我的回答对你有所帮助.

桑德罗梅尔

编辑

Three20 SDK暂时停止使用.因此,您不应再将它用于新项目.我建议你改用NimbusKit.这也是Three20 SDK团队推荐的.可悲的是,它不包含MailComposeViewController