我想在Xcode中实现一个对象3D旋转,而不是使用openGL使用一组预先渲染的png。这将允许在多边形和光效果方面更复杂的3D动画。到目前为止,我已经实现了构建包含UIScrollView的UIView的子类,并且在scrollViewDidScroll委托方法中,它根据UIScrollView的内容偏移量擦除360 png图像。除了一些主要问题外,这正是我想要实现的目标。
我尝试了三种不同的方法来交换图像。
方法1: 在初始化View时,我将所有UIImages放在UIImageViews和屏幕上的alpha = 0,然后在scrollViewDidScroll上将相应的imageView的alpha设置为1
方法2: 在初始化View时,我将所有UIImages放在一个数组中,并在屏幕上放置一个UIImageView。在scrollViewDidScroll中,我将数组中的相应图像设置为UIImageView的图像
方法3: 在初始化View时,我将所有imageNames保存在一个Array中,并在屏幕上放置一个UIImageView。在scrollViewDidScroll中,我创建一个UIImage,其中包含相应索引的数组名称,并将其设置为我的UIImageView的图像
这三个都非常耗费内存,最终会导致内存警告或崩溃。虽然方法三的内存价格稍微低一些,但它也有点落后。
有没有任何方法可以高效快速地执行此内存而无需使用openGL ??
编辑:Theodore Gray以极好的方式在他的Elements应用程序中实现了这一点,我无法找到方法。见这里:http://www.youtube.com/watch?v=nHiEqf5wb3g&feature=player_embedded