我正在为iPhone写一个纸牌游戏,我不确定显示卡片的最佳策略。我有一个基本的原型,它创建了一个UIImageView,可以使用虚拟图像拖动每张卡。我想使用一个包含所有卡面的大型UIImage,然后让每个可拖动的UIImageView显示该图像的一部分。我一定是误解了setBounds的用途 - 我认为控制底层图像的哪一部分会被显示出来。所以,有两个问题:
答案 0 :(得分:1)
根据您的分辨率,这可能不是最佳方法。
来自Apple:
您应该避免创建UIImage 大于1024 x的对象 1024个大小。除了大量的 记忆这样的图像会消耗, 使用时可能会遇到问题 图像作为OpenGL ES中的纹理或 将图像绘制到视图或时 层。这种尺寸限制没有 如果您正在执行基于代码的应用 操纵,例如调整大小 图像大于1024 x 1024像素 通过将其绘制到位图支持 图形上下文。事实上,你可能 需要以这种方式调整图像大小 (或者把它分成几个小的 图像)以便将其绘制为其中之一 你的意见。
现在,您正在谈论将其分解为几个较小的部分,但是考虑到UIIMage的缓存,我不确定每次访问图像并从中复制一个子矩阵时内存会发生什么。我认为我采取的方法是拥有一系列图像,而不是一个大图像。