2010-04-21 70 views
1

有幾個小時,我試圖設置一個tableView背景圖像。 我的控制器是UITableViewController的子類,我只是在ViewDidLoad方法中寫了代碼 。UITableView背景自定義奇怪的行爲

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

一切看起來都在模擬器上偉大的,我的意思是,我看到我的表,作爲背景視圖,Y可以看到圖像。但是當應用程序在設備上運行時(ipod touch),出現此錯誤:

程序接收信號:「SIGABRT」。

和堆說:

* - [UITableView的setBackgroundView:]:無法識別的選擇發送到實例0x812e00 *終止應用程序由於未捕獲的異常 'NSInvalidArgumentException',原因:「*** - [UITableView的setBackgroundView:]:無法識別的選擇發送到實例0x812e00'

和異常在分配拋出,一個意味着這一行:

self.tableView.backgroundView = imageView; 

有什麼想法?

預先感謝您。

回答

2

backgroundView屬性是iPhone OS 3.2中的新功能。您的iPod touch運行的操作系統版本低於3.2。

1

UITableViewbackgroundView屬性僅適用於iPhone OS 3.2及更高版本。如果你的iPod沒有運行3.2(iPad OS),或者它沒有運行,或者4.0 beta版本,你將無法使用該屬性。