UITableViewController背景图片拉伸

时间:2011-04-07 21:55:54

标签: iphone ios uitableview

我正在尝试为UITableViewController设置背景图片。我有以下代码确实设置了背景,但图像本身被拉伸到通常大小的两倍。

[[self view] setAutoresizesSubviews:NO];

UIView *backgroundView = [[UIView alloc] initWithFrame:self.view.frame];
backgroundView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"Default.png"]];

self.tableView.backgroundView = backgroundView;
self.tableView.backgroundColor = [UIColor clearColor];

[backgroundView release];

图像仅为640x960像素。

我尝试手动设置backgroundView的边框,但不会改变背景图片的大小。

有谁可以解释我哪里出错?

非常感谢。

1 个答案:

答案 0 :(得分:5)

在我的经验中,你应该避免使用

[UIColor colorWithPatternImage: ... ];

因为它为Retina / Low-Res设备选择正确的图像会导致一些问题。

尝试更像这样的事情:

UIImageView* bgView = [[[UIImageView alloc] initWithImage:
[UIImage imageNamed:@"Default.png"]] autorelease];

[tableView.backgroundView addSubview:bgView];

还要确保您有两个PNG:

  • Default.png - 320 x 480
  • Default@2x.png = 640 x 960