我正在尝试为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
的边框,但不会改变背景图片的大小。
有谁可以解释我哪里出错?
非常感谢。
答案 0 :(得分:5)
在我的经验中,你应该避免使用
[UIColor colorWithPatternImage: ... ];
因为它为Retina / Low-Res设备选择正确的图像会导致一些问题。
尝试更像这样的事情:
UIImageView* bgView = [[[UIImageView alloc] initWithImage:
[UIImage imageNamed:@"Default.png"]] autorelease];
[tableView.backgroundView addSubview:bgView];
还要确保您有两个PNG: