MFMailComposeViewController默认为只读模式

时间:2011-10-25 02:01:46

标签: ios readonly mfmailcomposeviewcontroller

我正在尝试在我正在构建的iPhone应用程序中使用MFMailComposeViewController,但我无法让它正常工作。我正在关注Apple的示例代码MailComposer。正如您在示例中所看到的,MFMailComposeViewController允许您键入所需的任何消息,对于收件人,您可以键入电子邮件地址或从联系人中选择它们。我的实现与示例完全相同,MFMailComposeViewController出现并按预期消失。但是,控制器似乎处于只读模式;即,用户不能改变任何字段。我可以在显示控制器之前以编程方式更改不同字段的值,但是一旦可见,就不能对任何字段进行任何修改。我已经多次检查了所有内容,但我发现我的实现与Apple之间没有任何不同。我很难过!有没有人遇到过这个问题?有什么建议?

非常感谢您提供的所有帮助!

1 个答案:

答案 0 :(得分:1)

发现问题了!我的应用程序中的父视图控制器侦听摇动手势,这需要监听摇动的视图控制器成为第一响应者。父视图控制器需要调用

[self resignFirstResponder];

在显示MFMailComposeViewController之前。添加该行后,MFMailComposeViewController就像一个魅力。

通常,任何侦听摇动手势的视图控制器都应在显示任何其他视图控制器之前重新响应第一响应者。否则,即使相应的视图控制器不可见,应用程序仍将继续响应摇动手势,这肯定会导致比MFMailComposeViewController以奇怪的只读模式显示更糟糕的问题。