0

我想在 Xcode 中实现对象 3D 旋转,而不是使用 openGL,而是使用一组预渲染的 png。这将允许在多边形和灯光效果方面更复杂的 3D 动画。到目前为止,我已经实现了构建包含 UIScrollView 的 UIView 的子类,并且在 scrollViewDidScroll 委托方法中,它根据 UIScrollView 的内容偏移量来擦洗 360 个 png 图像。除了一些主要问题之外,这正是我想要实现的目标。

我尝试了三种不同的方法来交换图像。

方法 1:当视图被初始化时,我将所有 UIImages 放在 UIImageViews 和屏幕上的 alpha = 0 中,然后在 scrollViewDidScroll 上将相应的 imageView 的 alpha 设置为 1

方法 2:当视图被初始化时,我将所有 UIImages 放在一个数组中,并在屏幕上放置一个 UIImageView。在 scrollViewDidScroll 我将数组中的相应图像设置为 UIImageView 的图像

方法 3:当视图被初始化时,我将所有 imageNames 保存在一个数组中,并在屏幕上放置一个 UIImageView。在 scrollViewDidScroll 中,我使用数组中的名称为相应索引创建一个 UIImage 并将其设置为我的 UIImageView 的图像

这三个都非常消耗内存,最终会导致内存警告或崩溃。虽然方法三的内存成本略低,但它也慢得多。

有没有什么方法可以在不使用 openGL 的情况下高效快速地实现这种内存?

编辑:Theodore Gray 在他的 Elements 应用程序中以一种很棒的方式实现了这一点,我不知道如何。见这里:http ://www.youtube.com/watch?v=nHiEqf5wb3g&feature=player_embedded

4

0 回答 0