cellForRowAtIndexPath
の前にはheightForRowAtIndexPath
が呼び出されているようです。私は現在cellForRowAtIndexPath
を使用して各セルの高さを計算しています(変数の高さはUILabel
で、その中にさまざまな量のテキストがあります)。cellForRowAtIndexPath内からheightForRowAtIndexPathを呼び出しますか?
セルの高さを正しく設定する方法は正確にはわかりませんセットは高さがはそれを計算メソッドの前に呼び出されるメソッドの場合。
私はNSString
のカテゴリを作成した、と一緒に働いているUILabel
の他は、UILabel
右のサイズを確認します。問題をこれらのラベルを含むインスタンスのサイズが変更されていないため、ラベルは各ラベルの終わりに掛かり、そのラベルの下に重なります。
私はセルの高さをラベルの高さと余分な余白を加えたものにすることを知っていますが、ラベルの高さになる前に高さを設定する方法については困惑しています計算された。 heightForRowAtIndexPath
を使わずに高さを設定することはできますか?そうでなければ、他の場所の細胞の高さを計算できますか?私は現在、それを実現するためにindexPath.row
を使用していますので、事前に行うのは難しいでしょう。あなたはheightForRowAtIndexPath
にセルの高さを計算する必要が
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;
}
iOS 8以降、自動的に計算された動的行の高さを使用することもできます。 http:// stackoverflow。com/questions/18746929/use-auto-layout-in-uitableview-for-dynamic-cell-layouts-variable-row-height – Suragch