我正在尝试创建一个应用程序,其界面类似于iPhone上的Mail应用程序。当您在内置邮件应用程序上查看电子邮件时,除了邮件前区域中的主题外,它还会显示发件人/收件人信息。我正在考虑使用WebView作为消息部分,但我无法找到一种方法,在WebView上方显示一些自定义视图,同时仍在同一个ScrollView中。
实现此目的的最佳方法是什么?对我来说,最好的选择似乎是在HTML / CSS的顶部生成“自定义视图”,然后简单地附加消息的HTML。我已经看过尝试将一个带有另一个视图的WebView放在ScrollView中,但它似乎违反了Apple的设计指南。
任何想法或建议都会很棒。
谢谢,
托马斯
答案 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替代视图是个坏主意。它的速度要慢得多,需要加载初始时间。我发现它的唯一用途是显示格式化文本。