【问题标题】:is UIScrollView or a UIWebView the better solution for this?UIScrollView 或 UIWebView 是更好的解决方案吗?
【发布时间】:2012-05-08 04:25:47
【问题描述】:

我正在指定一个 iOS 应用程序,其中有一个需要滚动的运行部分。我正在考虑将其作为 UIScrollView(从未使用过,但似乎合乎逻辑),但听起来 contentSize 总是需要计算。在这种情况下,这可能是非常可变的(UGC 图像等......)。它是否正确?还是有合法的解决方法?如果不是,UIWebView 会是更好的解决方案吗?

应用功能类似于 FB 提要或 Instagram。是否知道他们使用什么(FB 在我看来就像 UIWebView)。

谢谢

【问题讨论】:

    标签: ios facebook uiwebview uiscrollview instagram


    【解决方案1】:

    实际上,这取决于您要达到的目标。如果您使用 web 视图,则必须生成 html 代码来提供它,如果您有按钮,则可能必须生成更多 html/css/js 才能使一切正常工作。使用滚动视图并不痛苦......计算内容大小很容易......所有元素的高度+它们之间的一些偏移量。它的边界将始终保持不变,您应该只设置内容大小。

    【讨论】:

    • 重新内容大小,我看到的大多数示例仅使用图像。我们会有很多通过 api 引入的文本。所以它不会是一个固定的站点。另外,我想人们会使用 UIScrollView 进行延迟加载。如果是,您将不知道尺寸。是否有潜在的解决方法?或者这听起来像是我应该做一个 UIWebView?
    • 您可以动态计算和更改内容大小,甚至更多通过获取滚动视图的滚动位置,您可以从 api 按需请求更多数据。只是,新数据到来增加 contentSize.height + 100p for ex...
    • 好的 - 这似乎与我们正在讨论的内容相关:stackoverflow.com/questions/7508517/…。但就像在最初的问题中一样,我正在考虑更多地构建一个类似于 Instagram 提要的 UIScrollView。关于您的上述评论,您建议的模型如下:构建内容的前 1000 像素,并将其固定为仅垂直滚动。由于用户只能向下滚动,所以当用户向下滚动时捕获 contentOffset 然后添加到 contentSize.height?cont
    • 在什么函数中添加这个功能?有没有办法观察 contentOffset 属性?你会使用 KVO 还是其他机制?
    【解决方案2】:

    在我的经验中,我在iOS开发之前有客户端Web应用程序的开发经验。我第一次觉得UIWebView比UIScrollView容易得多,因为我可以随心所欲地处理html/css/javascript。

    但我发现UIWebView 性能存在一些问题。如果你有复杂的功能可用性和大量的数据加载。所以我尝试用UIScrollView 来实现,当然,用UIScrollView 创建复杂的视图对我来说并不容易,但是当我熟悉了实现指令时。我认为UIScrollView 比UIWebView 有更好的性能,尤其是复杂的布局和可用性。

    我建议您根据情况使用它们。

    对于一些只显示信息的简单 ViewController 使用不太复杂,如果您熟悉客户端 Web 应用程序开发,UIWebView 很好。

    对于一些复杂的可用性,使用UIScrollView 实现可能并不容易,但对于性能问题来说还可以。

    【讨论】:

    • 谢谢回答-我同意您所说的大部分内容-这有点让我陷入困境。听起来让 UIScrollView 在复杂的布局中工作并处理诸如一两段文本之类的问题会很困难。
    • 对了,你也可以看看“Three20”项目three20.info。你可能会找到你需要的。
    • 看过 Three20 - 因为我们已经开始工作了。我不认为这是对的。也许如果我们从头开始使用它。
    猜你喜欢
    • 1970-01-01
    • 2011-11-21
    • 2010-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-27
    • 1970-01-01
    相关资源
    最近更新 更多