2017-10-11 4 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

同じ高さでデフォルトの高さとは異なる場合は、高さを定義する3つのオプションがあります。

1)Storyboard/Interface builderのTableViewのプロパティとして定義します。 [TableView] - > [サイズインスペクタ] - > [行の高さ]を選択します。

2)viewDidLoad()で、高さを定義することができます_tableView.rowHeight = 120;このオプションは、storyboard/Interface builderの値よりも優先されます。

3)デリゲートを実装することもできます。

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

この最後のオプションは、あなたの行ごとに異なる高さを定義するための柔軟性を与え、二つの選択肢の上からの値を上書きします。

コンテンツに基づいて動的なセルの高さを取得する方法があります。もしあなたがそれを手にする必要があれば教えてください。

関連する問題