麻烦搞清楚如何在同一个ScrollView中在WebView上添加自定义视图

时间:2012-06-06 19:19:55

标签: ios cocoa-touch storyboard

我正在尝试创建一个应用程序,其界面类似于iPhone上的Mail应用程序。当您在内置邮件应用程序上查看电子邮件时,除了邮件前区域中的主题外,它还会显示发件人/收件人信息。我正在考虑使用WebView作为消息部分,但我无法找到一种方法,在WebView上方显示一些自定义视图,同时仍在同一个ScrollView中。

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

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

谢谢,

托马斯

1 个答案:

答案 0 :(得分:0)

我不认为这违反了Apple的指导原则。

我在你的案件中做的是以下几点。

首先创建滚动视图

在其中放置固定高度标题(主题等等)

然后在scrollview内放置一个webView,其标题高度为y偏移量。

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

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

然后将scrollview内容大小设置为两个高度的总和:

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

我对[webView sizeToFit]要做的事情并不十分自信。我读过你也可以使用[webView sizeThatFits:CGSizeZero];。它显然会返回webView所需的大小。

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

希望这有帮助

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