0

我有一个带有标准 UIViewController/UIView 设置的 iPad 应用程序 - 允许所有旋转。UIView 绘制一些平铺图像作为背景(平铺为 256*256 像素):

- (void)drawRect:(CGRect)rect
{
    [[UIImage imageNamed: @"Background.png"] drawAsPatternInRect: rect];
}

当我转动我的 iPad 时,我可以看到在旋转过程中,原始方向的图像图案被缩放以适应新的方向。然后 - 动画完成后 - 视图使用未缩放的最终配置重新绘制其背景图案。从缩放模式到未缩放模式的切换看起来有点难看。

有没有办法绕过(或隐藏)背景图案的这种拉伸?

4

2 回答 2

2

简单地说,

[myView setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"Background.png"] ] ];

于 2010-10-05T15:18:49.593 回答
2

为什么不使用图案图像作为背景“颜色”?这会自动生成平铺图案,并避免使用 drawRect() 进行任何特技。例如:

UIImage *backgroundTile = [UIImage imageNamed: @"Background.png"];
UIColor *backgroundPattern = [[UIColor alloc] initWithPatternImage:backgroundTile];
[myView setBackgroundColor:backgroundPattern];
[backgroundPattern release];
于 2010-06-22T21:13:26.787 回答