【问题标题】:UIView. What are the maximum bounds dimensions I can use?界面视图。我可以使用的最大边界尺寸是多少?
【发布时间】:2009-09-29 17:22:02
【问题描述】:

有人碰巧知道 someView.bounds.size 的最大值吗?我正在创建一个视图层次结构,其中所有子视图的累积边界框等于根父视图。

干杯, 道格

【问题讨论】:

    标签: iphone uiview


    【解决方案1】:

    根据UIView documentation

    在 iPhone OS 3.0 之前,UIView 实例可能有一个最大高度 宽度为 1024 x 1024。在 iPhone OS 中 3.0 及更高版本,视图不再限于此最大大小,而是 仍然受到数量的限制 他们消耗的内存。因此它是 为了您的最大利益保持关注 尺寸尽可能小。不管 iPhone OS 是哪个版本的 运行时,您应该考虑使用 CATiledLayer 对象,如果需要 创建大于 1024 x 1024 的视图 大小。

    实际上,我能够在 2.x 中的标准 iPhone / iPhone 3G 上创建尺寸为 2048 x 2048 的 UIView 和 CALayer。上面的任何内容都刚刚停止渲染。

    【讨论】:

    • 一如既往地感谢布拉德。我将研究 CATiledLayer。我一直不清楚的 Cocoa 的其余部分之一是何时应该在 CALayer 级别实现以及何时应该保持在更高级别的 UIView。你有什么见解吗?谢谢,道格。
    • 性能方面它们大致相同。您可以使用 CALayer 制作一些更高级的动画,但您可以在 UIView 的 CALayer 支持上执行这些动画。我发现的最大原因是 Mac-iPhone 跨平台代码,因为 CALayer 的 API 在两个平台之间实际上是相同的。有关更多信息,请参阅此问题的答案:stackoverflow.com/questions/1447598/…
    • 我在尝试使用上下文将大的 WKWebView 层次结构渲染到 UIImage 时遇到了一些问题,最后如果使用打印格式化程序,它可以通过根据我想要渲染的大小设置页面大小来工作,仅在第一页..
    【解决方案2】:

    我不知道有具体限制。我已经创建了数百页宽度的 UIScrollView,没有任何问题。您尝试过并遇到问题吗?

    保罗

    【讨论】:

    • 我想知道 scrollView 滚动/缩放的 contentView 的最大像素尺寸。您使用的页面的大小(以像素为单位)是多少?
    • 我正在开发一个图书阅读器应用程序。有些书有几百页长,所以是 320 x 700 == 224000。我的意思是我还没有看到实际的限制。我不认为它预先分配内存或任何东西。
    【解决方案3】:

    我认为没有可以想象的限制。由于大小存储为浮点数,我猜它仅限于CGFLOAT_MAX,它太大了,无需担心。

    【讨论】:

    • 巴里,我担心的是实例化一个 UIView - 那里的子类 - 超过一个固定的限制。可能是帧缓冲区大小,因为 i(Phone|Pod) 上的所有内容都在底层进行硬件渲染。
    猜你喜欢
    • 1970-01-01
    • 2012-09-24
    • 2015-01-22
    • 1970-01-01
    • 2013-04-13
    • 2014-08-26
    • 2017-08-20
    • 2019-12-05
    • 2011-01-31
    相关资源
    最近更新 更多