这是我面临的问题:我正在制作一个UIScrollView,它将有一个图案图像来填充背景。也就是说,我需要一个背景来配合 UIScrollView 滚动。一个很好的例子是iPad 上的Game Center应用程序。背景将使用滚动视图平滑滚动。
目前我有两种方法来实现这种效果,但它们都没有提供好的性能。首先我试过这个
self.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:kRLCastViewBGUnit]];
但不幸的是,滚动性能非常糟糕,占用了太多内存。
然后我尝试像这样在drawRect中使用CGContextDrawTiledImage:
- (void)drawRect:(CGRect)rect
{
CGContextRef currentContext = UIGraphicsGetCurrentContext();
CGContextTranslateCTM(currentContext, 0, rect.size.height);
CGContextScaleCTM(currentContext, 1.0, -1.0);
CGContextClipToRect(currentContext, rect);
CGRect centerTileRect = CenterTileRect;
CGContextDrawTiledImage(currentContext, centerTileRect, [ResourceProvider backgroundTileImageRef]);
}
在新 iPad 上仍然不能令人满意。我一定是做错了什么或滥用了某些方法,因为游戏中心在滚动时表现得非常好。任何人都可以为我提供解决 UIScrollView 背景性能问题的解决方案吗?非常感谢!!