界面视图。我可以使用的最大边界尺寸是多少?

Posted

技术标签:

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

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

干杯, 道格

【问题讨论】:

【参考方案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 在两个平台之间实际上是相同的。有关更多信息,请参阅此问题的答案:***.com/questions/1447598/… 我在尝试使用上下文将大的 WKWebView 层次结构渲染到 UIImage 时遇到了一些问题,最后如果使用打印格式化程序,它可以通过根据我想要渲染的大小设置页面大小来工作,仅在第一页..【参考方案2】:

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

保罗

【讨论】:

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

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

【讨论】:

巴里,我担心的是实例化一个 UIView - 那里的子类 - 超过一个固定的限制。可能是帧缓冲区大小,因为 i(Phone|Pod) 上的所有内容都在底层进行硬件渲染。

以上是关于界面视图。我可以使用的最大边界尺寸是多少?的主要内容,如果未能解决你的问题,请参考以下文章

UIScrollView 子视图在缩放下不保持正确的边界尺寸

将 UIViewController 的视图调整为父 UIWindow 的边界

获取 UIViewController 视图的正确边界

使用 UiDevice 滑动的 x,y 边界是多少

UIView 的子视图在边界外渲染

Viola jones 边界框和旋转面