0

我有一个有两个不同背景图像的应用程序。选择的一个由方向决定。当我开始时,我检查 self.interfaceOrientation,然后去选择正确的图像。但是,每当视图打开时,图像的一部分就会重复而不是拉伸。我看到了一个将自动调整大小蒙版应用到图像视图的先前答案,但我目前没有使用图像视图。

在 loadView 方法内部:

if(self.interfaceOrientation==UIInterfaceOrientationPortrait ||self.interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown)
{
  [self.view setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed: @"portrait"]]];
}else{
  [self.view setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed: @"landscape"]]];
}
4

1 回答 1

1

正如 rishi 所指出的,问题是由 colorWithPatternImage 方法引起的。我为解决这个问题所做的是将视图的背景设置为指定的图像。

UIImageView* bgView = [[UIImageView alloc]initWithImage:[UIImage imageNamed: @"foo.png"]];
[self.view addSubview: bgView];

我还添加了灵活的宽度和高度,以便它可以正确旋转。

于 2012-08-20T20:26:10.557 回答