1

我正在尝试创建一个界面类似于 iPhone 上的邮件应用程序的应用程序。当您在内置邮件应用程序上查看电子邮件时,它会在邮件前的区域显示发件人/收件人信息以及主题。我正在考虑将 WebView 用于消息部分,但我想不出一种方法让一些自定义视图出现在 WebView 上方,同时仍在同一个 ScrollView 中。

实现这一点的最佳方法是什么?对我来说,最好的选择似乎是在 HTML/CSS 的顶部生成“自定义视图”,然后简单地附加消息的 HTML。我曾考虑尝试将带有另一个视图的 WebView 放在 ScrollView 中,但这似乎违反了 Apple 的设计准则。

任何想法或建议都会很棒。

谢谢,

托马斯

4

1 回答 1

0

我不认为这违反了苹果的指导方针。

在您的情况下,我会做以下事情。

首先创建滚动视图

在其中放置您的固定高度标题(带有主题等......)

然后在滚动视图中放置一个带有标题高度 y 偏移量的 webView。

在 webView 完成加载调用后[webView sizeToFit];(调整视图的大小试图不裁剪子视图)

也许您必须再次设置 y 偏移量 ( frame.origin.y=offset)

然后将滚动视图内容大小设置为两个高度之和:

scrollView.contentSize=CGSizeMake(width, headerView.frame.size.height + webview.frame.size.height);

我对接下来[webView sizeToFit]要做的事情不是很有信心。我读过你也可以使用[webView sizeThatFits:CGSizeZero];. 它显然会返回 webView 所需的大小。

您只需将 webviews 帧大小更改为该函数的返回值,并使用与以前相同的 contentsize 语句。

希望这有帮助

PS:我认为使用 html 作为视图的替代品是一个坏主意。它要慢得多,并且需要初始时间才能加载。我发现它的唯一用途是显示格式化文本。

于 2012-06-06T19:41:05.250 回答