我已经用UIScrollView实现了旋转木马视图,它可以很好地工作在40-50张图片上,大小为600*400,但它崩溃时有150个图像,大小为3-5 5Mb。我如何解决这个问题,现在我正在工作的iPad应用程序。谢谢,
发布于 2016-03-30 19:46:32
这是UiScrollview非常基本的问题,不建议使用大量图像的滚动视图。您可以在水平滚动时使用UICollectionView。当然,您只需要显示启用分页的第一行。
这里有一些提示。首先,您需要定制水平方向的流布局。
@interface LayoutHorizontalThings : UICollectionViewFlowLayout
@end
@implementation LayoutHorizontalBooks
-(void)prepareLayout {
[super prepareLayout];
self.scrollDirection = UICollectionViewScrollDirectionHorizontal;
self.minimumInteritemSpacing = 0;
self.minimumLineSpacing = 0;
self.itemSize = CGSizeMake(110,130);
self.sectionInset = UIEdgeInsetsMake(0, 0, 0, 0);
}然后,您必须将页面启用为true。
yourCollectionView.pagingEnabled = YES;发布于 2016-03-30 20:39:08
这并不奇怪。最好使用默认或自定义UICollectionView。UICollectionView和UITableView的好处是将未使用的单元从内存中清除,以保留内存开销。使用UIScrollViews时,当您在屏幕外滚动内容时,所有的内存开销都会保持不变。
当您有一个大于屏幕大小的内容页,但它没有为呈现一个有序的同构项集合进行优化时,UIScrollView是很棒的。这时您应该使用UICollectionView / UITableView。
如果您被滚动视图困住了,您可以尝试实现自己版本的Apple脱队列功能,方法是在未使用的图像离开屏幕后删除它们,并在它们重新出现时刷新它们,但基本上是在重新实现集合视图。
https://stackoverflow.com/questions/36318170
复制相似问题