0

我创建了一个应用程序内电子邮件功能来询问一个打开 mfmailcomposer 并用 html 内容填充它的问题。不幸的是,它似乎切断了电子邮件的最后一行,因此如下图所示。

这是一个例子

我已将 mfmailcomposer 设置为 self,按照我能找到的每个教程进行操作,修复它的唯一参考说明如下:

  1. 确保您的 mfmailcomposer 设置为 self 即。[自我presentModalViewController:电子邮件动画:是];
  2. 确保它嵌入在导航控制器中

两种解决方案都不起作用。

我发现如果电子邮件内容足够短以至于整个电子邮件都适合屏幕,则问题不会出现,但如果您继续键入以将内容推离边缘,它会重新出现。

关于解决方案的任何想法?还是这是 Apple xcode 的“设计功能”?

4

2 回答 2

1

我设法解决了这个问题,这似乎是一个错误,这是我能找到的唯一解释。

如果您的内容的开头是标头 ( <h1>, <h2>, <h3>, etc) 标记(即使它在 HTML 和 BODY 标记内),则会产生此问题。

如果您想以标题标签开始您的电子邮件正文,那么修复它的最简单方法是在标题标签之前添加一个不间断的分隔符,这似乎完全解决了这个问题。

于 2012-08-31T15:09:48.647 回答
0

可能是框架错误。它是否发生在不同版本的iOS上?在旧版和新版操作系统以及其他设备上试用。

您是否 100% 确定视图实际上并不大于其容器视图?探索视图层次结构。也许在纯文本中苹果添加了一些间距,所以看起来内容并没有超出父视图的范围,尽管它是。

滚动指示器的行为如何?它们也被剪掉了吗?

您是否在全屏视图中显示消息编写器?如果您尝试在由选项卡视图控制器的子控制器控制的视图中呈现它,则可能会导致作曲家视图控制器混淆。

对于它的价值,我刚刚测试了生成 HTML 内容的代码,并且没有剪辑。这是在 iPhone 3G 上的 iOS 4.2.1 上,但我也不记得在 iOS 5.1 上看到过这个问题。


一些技巧。

在调试时,不要忘记:视图控制器实际上只是管理仍然有自己的层次结构的视图。澄清一下,视图控制器可能有一个层次结构,但它们的层次结构不一定对应于视图层次结构。(尽管在几乎所有情况下都应该这样做。)视图本身也是如此:它们有自己的层次结构,但它们仍然只是控制底层的核心动画层,它们有自己的层次结构。

您始终可以访问视图层次结构本身,并通过您自己提出的调试工具更详细地探索它。你不应该做的是过多地干预应该由视图控制器管理的视图层次结构的部分,就像你不应该过多地搞乱应该由视图控制器管理的层层次结构的部分一样意见。

于 2012-08-31T11:54:37.267 回答