UITableView后台定制奇怪的行为

时间:2010-04-21 16:43:38

标签: iphone uitableview

有几个小时我正在尝试设置tableView背景图片。 我的控制器是UITableViewController的子类,我只是写了这行 ViewDidLoad方法中的代码。

UIImage *image = [UIImage imageNamed:@"home-portrait-iphone.png"];
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
self.tableView.backgroundView = imageView;

模拟器上的一切看起来都很棒,我的意思是,我看到我的桌子和背景视图,你可以看到图像。但是当应用程序在设备上运行时(ipod touch),我收到此错误:

收到信号:“SIGABRT”。

并且堆栈说:

* - [UITableView setBackgroundView:]:无法识别的选择器发送到实例0x812e00 * 由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'*** - [UITableView setBackgroundView:]:无法识别的选择器发送到实例0x812e00'

并且在赋值中抛出异常,这意味着这一行:

self.tableView.backgroundView = imageView;

任何想法?

提前谢谢。

2 个答案:

答案 0 :(得分:2)

backgroundView属性是iPhone OS 3.2中的新属性。您的iPod touch运行的操作系统版本低于3.2。

答案 1 :(得分:1)

backgroundView的{​​{1}}属性仅适用于iPhone OS 3.2及更高版本。如果您的iPod没有运行3.2(iPad OS),而不是4.0 beta版之一,您将无法使用该属性。