2017-10-11 163 views
0

我是iOS新手。我練習Objective-C並製作了自定義的UITableViewCell。它有一定的高度,而不是它的默認高度,即高度是120.但是當我運行該程序時,單元格顯示爲默認高度。我只寫了一些代碼,如下所示,我使用xib來設計自定義單元格。如果需要,我可以分享截圖。由於自定義UITableViewCell不全顯示

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 

    static NSString *CellIdentifier = @"CustomCell"; 

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if (cell == nil) { 
     NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:self options:nil]; 
     cell = [topLevelObjects objectAtIndex:0]; 
    } 

    return cell; 
} 

編輯在我的項目我還沒有實現heightforrowatindexpath方法之一。爲什麼我必須在另一個項目中實施。是必要的?請指導。

回答

0

行的高度必須在委託方法返回:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { 

return 120.0; 
} 
0

如果所有的自定義單元格是高度相同但與默認高度不同,您有三個選項可以定義高度。

1)將其定義爲故事板/界面生成器中的TableView的屬性。選擇TableView - >尺寸檢查器 - >行高。

2)在您的viewDidLoad()中,您可以定義高度_tableView.rowHeight = 120;此選項將覆蓋故事板/界面構建器中的值。

3)您可以像其他人一樣實施代理。

(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ 
return 120; 
} 

這最後一個選項,您可以靈活地定義不同高度的每一行,並從上述兩個選項覆蓋值。

有一些方法可以根據內容獲取動態單元高度。如果您需要幫助,請告訴我。

相關問題