Odd background image resizing on animating UIView
我在用作游戏区域的视图中间有一个UIView(在2d可可视图中)。
该图像具有与视图相同大小的背景图像。
调整视图的大小我使用动画来使其看起来平滑(并且效果很好)。但是,当动画开始时,背景图像立即改变大小,平铺或被裁剪为动画结束时背景图像实际上是相同的大小。
我不希望这样,我希望图像始终适合视图,而不考虑视图大小。
1 2 3 4 5 6 7 8 | UIImage *bgImage = [UIImage imageNamed:@"head.png"]; ... // resize the image returning another image self.view.backgroundColor = [[UIColor alloc] initWithPatternImage:resizedImage]; [UIView beginAnimations:@"resizeView" context:nil]; [UIView setAnimationDuration:.5]; int localViewSize = ... // work out view sizes self.view.frame = CGRectMake(... ,localViewSize,localViewSize); [UIView commitAnimations]; |
当它跳到一个不同的大小,然后动画到原始大小时,看起来很奇怪。
我猜想也许我将不得不在主视图下创建一个单独的视图,但这是唯一的方法吗?
我怀疑"图案图像"已渲染到图层内容(实际上是纹理),并且图层内容被拉伸以适合。解决此问题的简单方法是设置