2011-11-02 33 views
3

我最近開始使用帶有UIStoryBoards(真棒功能;)的iOS 5的新項目。 特別是在tableView中創建靜態單元格的能力非常好。但這裏開始我的問題。我想通過使用UITableViewCell的子類自定義這些單元格,而不必在每個帶有靜態內容的tableView中自定義單元格。UITtoryBoard中的UITableViewCell的子類

首先,我認爲所有需要的是將TableViewCell的類設置爲MyCustomClass ,但未使用該設計。

長話短說: 有沒有辦法使用UITableViewCell的子類作爲UIStoryboard中的靜態內容? storybord如何實例化單元格? (它不是的init()或initWithStyle())

預先感謝您;)

回答

2

我真的不知道是否有使用自定義單元格在Interface Builder(的方式大概是不可能的)。 UITableViewCells通過initWithCoder:方法啓動,就像任何其他符合NSCoding協議的對象一樣。

+0

好的,這是我的工作; 您只需在StoryBoard-IB中定義靜態單元格並將單元格的類設置爲MyCustomCell。執行樣式的代碼是用initWithStyle編寫的:我只是將這些行移動到initWithCoder:Method中,它的作用就像魅力一樣。 – Kai

1

除了設置自定義類以外,在檢查器面板中設置標識符也很重要。然後找回你真棒的新設計使用:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
    static NSString *cellIdentifier = @"myCustomID"; 
    //New cell prototypes will be returned from the dequeue if none have been allocated yet. 
    MySubclassCell* cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier]; 

    if(cell == nil) { 
    //This shouldn't happen but you can build manually to be safe. 
    cell = [[MySubclassCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier]; 
    } 

    return cell; 
} 

離隊將建立你的新細胞,而不是需要分配你自己的。

+0

這就是我最終做的;) – Kai

相關問題