我有一个带有标准UIViewController / UIView设置的iPad应用程序 - 允许所有旋转。 UIView绘制一些平铺图像作为背景(图块为256 * 256像素):
- (void)drawRect:(CGRect)rect
{
[[UIImage imageNamed: @"Background.png"] drawAsPatternInRect: rect];
}
当我转动iPad时,我可以看到在旋转过程中原始方向的图像模式缩放以适应新的方向。然后 - 在动画完成后立即 - 视图重绘其背景图案,其最终配置是未缩放的。从缩放模式切换到非缩放模式看起来有点难看。
有没有办法绕过(或隐藏)背景图案的这种拉伸?
答案 0 :(得分:2)
为什么不使用图案图像作为背景“颜色”?这会自动生成平铺图案,并避免使用drawRect()进行任何特技。例如:
UIImage *backgroundTile = [UIImage imageNamed: @"Background.png"];
UIColor *backgroundPattern = [[UIColor alloc] initWithPatternImage:backgroundTile];
[myView setBackgroundColor:backgroundPattern];
[backgroundPattern release];
答案 1 :(得分:2)
简单地说,
[myView setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@“Background.png”]]];