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

问题#1:字段不可编辑,或者焦点位置错误。

我创建了一封带有附件(文本或pdf)发送的电子邮件,并且每次控制器启动“cc / bcc / from”字段时,它们都会重叠并且不可编辑。
如果我点击“至:”字段,有时键盘会出现其他时间,而其他时间却不...
“收件人:”字段是唯一一个可编辑的字段(蓝色),但是显然焦点不正确,因为有时我可以编辑电子邮件地址,有时它变成一个完全蓝色的框(看不到任何文本),等等。 。

有时,“cc:”字段会连续扩展,但是分接位置并不完全正确,因此无法进行编辑。

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

我在带有IOS7的iPad2和Xcode 5.1的调试模式下都测试了该过程,但是行为始终是相同的。
到目前为止我尝试过的是:

  • 每次我打开邮件作曲家时都将其设置为第一响应者:
  • 不起作用
  • 创建临时uitextfield以“预加载”键盘:
  • 不起作用
  • 将模态外观从全屏更改为表格/页面/等:不起作用

  • 它似乎与内存有关,至少在键盘部分,这是因为在开始时该应用程序使用了约16 MB,第二次使用时稍高一些(约26 MB),但变化不大。

    这两个问题的流程:
  • 轻按发送按钮,打开邮件编辑器,轻按正文,然后出现键盘。(电子邮件字段仍然重叠且不可编辑)。
  • 将其关闭,再次单击发送按钮,进行完全相同的动作,但是这次键盘不显示,“cc:/ bcc:”字段的缩进错误(在左侧),无法进行任何编辑。

  • 我已经在这个论坛上经历了几个答案/问题,但似乎没有任何效果,这件事确实让我发疯了……不超过4行代码(摘自Apple文档),它不起作用...

    最佳答案

    我在ios6上遇到了同样的问题。 (我尚未在ios7上测试过此功能)在显示MFMailComposeViewController之前,请尝试以下两种方法,

    [self.parentViewController resignFirstResponder];

    而这个在mailComposer上,

    [自己成为FirstResponder];

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

    关于ios - iOS 7:MFMailComposeViewController的两个问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21584325/

    10-11 05:58