我有我的iPhone應用程序中的分組風格的UITableView。 現在我想用圖像,標籤和活動指示器自定義節標題。如何在Interface Builder for iPhone中構建UITableView sectionHeader視圖?
爲此,我創建了一個新的UIViewController子類和一個XIB文件。我將UIImageView,UILabel和UIActivityIndicatorView作爲IBOutlet屬性添加到ViewController,並將它們連接到我在Interface Builder中放入XIB的控件。
在我的UITableView的類中,我設置了節標題(兩個,上面定義的ViewController的兩個實例)並設置它們的屬性(圖像和文本)。然後我返回的的tableView委託ViewControllers觀點:
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
if (section == 0) {
return [favoritesSectionHead view];
} else {
return [serverlistSectionHead view];
}
}
這顯示我在Interface Builder中定義它,而無需自定義圖像和文字的觀點。 我知道爲什麼會發生這種情況(ViewController的視圖是在第一次需要時創建的,在我的代碼中這是當我在viewForHeaderInSection方法中返回時 - >當我試圖設置自定義值時視圖仍然爲零),但是我不知道如何解決這個問題。
你能幫我嗎?在退貨之前,我必須做什麼來初始化視圖? UITableView文檔告訴我不要手動調用「loadView」...
在此先感謝, 馬克。
您可能希望從if()語句中取出返回值,它會引發警告,因爲編譯器在代碼中運行,它不像我們那樣遍歷步驟,所以它會到達並沒有得到「返回someObject」,並且它不知道你在結束之前已經拋出了一個值。我設置了一個tempObject:UIView * tempView; 然後,我將它設置爲等於它在if()語句中所需的值,就像在返回[favoritesSectionHead視圖]中一樣;然後在該方法結束時,我返回tempObject,如「return tempView;」沒有警告! – Newbyman 2010-07-30 02:06:52