【发布时间】:2013-06-23 02:31:49
【问题描述】:
编辑:
想象一下,我正在重新实现 CoreText。
我会在这里得到一个 NSString,它是一个有序的代码点列表,还有一组字形(一个 NSFont/CTFont),基本上是一个 CGPathRef 的列表。
中间的东西负责布局。
并且某种环境必须提供一个 CGGraphicContext 来渲染。
我必须显示的对象类型是 CGPath。我担心为每个 CGPath 创建一个 UIView!对于一个文本块,您不会为每个字符字形创建一个 UIView,对吗?
我有一组可能很大的(小)对象要一次绘制。在 1000 年代。在滚动到视图中之前,许多都将在屏幕外显示。
一方面,我最好的选择是为每个创建一个 UIView。原因是:
通过适当的平铺,我可以确保屏幕外的视图 大多数时候甚至不在记忆中,当 必填
更重要的是,在缩放时,我想将每个此类视图的图层 contentScale 设置为 zoomFactor,这样我仍然可以获得完整的 精确而不是模糊的楼梯
另一方面,我不知道(否则完全通用的)父视图将如何处理 1000 个子视图。 所以我很想重新考虑我的代码,使“孩子”成为单一视图的一个区域。 但是后来我开始考虑设置该视图的图层 contentScale 并且我担心在缩放时会耗尽内存:我不知道图层机制是否“聪明”到不会创建一个巨大的支持位图,而它的大部分内容是反正看不见
怎么办,哦,怎么办?
有人有什么经验想分享吗?
【问题讨论】:
标签: uiview uiscrollview