だから、heightForRowAtIndexPath
前に呼ばれているようですcellForRowAtIndexPath
。私は現在cellForRowAtIndexPath
、各セルの高さを計算するために使用しています(これらは可変の高さでありUILabel
、さまざまな量のテキストが含まれています。
高さを設定するメソッドが、セルを計算するメソッドの前に呼び出された場合に、セルの高さを正しく設定する方法に戸惑います。
NSString
のカテゴリと別のカテゴリを作成しました。UILabel
これらを組み合わせることでUILabel
、適切なサイズになります。問題は、UITableViewCell
これらのラベルを含むインスタンスのサイズが変更されていないため、ラベルが各ラベルの端にぶら下がって、下のラベルと重なっていることです。
セルの高さをラベルの高さに等しくし、さらにマージンスペースを追加する必要があることはわかっていますが、ラベルの高さを計算する前に高さを設定する方法に戸惑っています。使用せずに誰かの身長を設定できますheightForRowAtIndexPath
か?または、そうでない場合は、他の場所でセルの高さを計算できますか?私は現在indexPath.row
それを実現するために使用しているので、事前にそれを行うのは難しいでしょう。これが私のcellForRowAtIndexPathのコードです:
cellForRowAtIndexPath
- (UITableViewCell *) tableView: (UITableView *) tableView cellForRowAtIndexPath: (NSIndexPath *) indexPath
{
FQCustomCell *_customCell = [tableView dequeueReusableCellWithIdentifier: @"CustomCell"];
if (_customCell == nil) {
_customCell = [[FQCustomCell alloc] initWithStyle: UITableViewCellStyleValue1 reuseIdentifier: @"CustomCell"];
}
_customCell.myLabel.text = [[_loadedNames objectAtIndex: indexPath.row] name];
_customCell.myLabel.font = [UIFont fontWithName: @"FontA" size: 15.0f];
UIView *backView = [[UIView alloc] initWithFrame: CGRectZero];
backView.backgroundColor = [UIColor clearColor];
_customCell.backgroundView = backView;
_customCell.myLabel.frame = CGRectMake(5, 5, 265, 65);
[_customCell.myLabel sizeToFitMultipleLines];
return _customCell;
}