IOS 7:MFMailComposeViewController有两个问题

时间:2014-02-05 17:32:29

标签: ios delay mfmailcomposeviewcontroller

我过去经常使用MFMailComposeViewController但由于某种原因,现在有一种非常奇怪的行为......这会在界面的可用性方面造成很多问题....

  

问题#1:字段不可编辑或焦点似乎错误定位。

我创建了一封与附件(文本或pdf)一起发送的电子邮件,每次控制器启动“cc / bcc / from”字段重叠且不可编辑。 如果我点击“到:”字段,有时候键盘会出现,有时它不会... “to:”字段是唯一可编辑的字段(蓝色),但显然焦点不正确,因为有时我可以编辑电子邮件地址,有时候,它会变成一个完全蓝色的框(没有文字可见),等等。

有时“cc:”字段会在一行中展开,但点击位置不完全正确,无法进行编辑。

  

问题#2:键盘第一次加载速度很快,但是如果我关闭作曲家并再次打开它,这次键盘至少需要5秒才能显示出来。

我使用IOS7在iPad2和Xcode 5.1上的调试模式下测试了该过程但行为始终相同。
到目前为止我尝试了什么:

  1. 将邮件编辑器设置为第一响应者,每次打开它时:不工作
  2. 创建临时uitextfields以“预加载”键盘:不工作
  3. 将模态外观从全屏更改为表单/页面/等:不工作
  4. 它似乎与内存有关,至少是键盘部分,因为在开始时App使用~16 MBytes,第二次略高(~26 Mbytes),但不是很大的变化。

    两个问题的流程:

    • 您点按发送按钮,邮件编辑器打开,点按正文并显示键盘。(电子邮件字段仍然重叠且无法编辑)。
    • 你关闭它,你再次点击发送按钮,你做了完全相同的动作但这次键盘没有显示,“cc:/ bcc:”字段错误地缩进(在左边),没有什么可以被编辑。

    我已经在这个论坛上经历了几个答案/问题,但似乎没有任何工作,这件事真的让我发疯...不超过4行代码(取自Apple文档)并且它不起作用。 ..

1 个答案:

答案 0 :(得分:4)

我在ios6上遇到了同样的问题。 (我没有在ios7上测试过这个)在显示MFMailComposeViewController之前尝试这两种方法,

[self.parentViewController resignFirstResponder];

这个在mailComposer上,

[self becomeFirstResponder];

注意 - 此答案适用于问题#1