0

こんにちは、textlabel と detailtextlabel に基づいて行の高さを動的に変更しようとしています。

以下は私のコードです:

 NSString *title = [NSString stringWithFormat:@"%@%@%@",_note.committeeStaffName,@"  -  ",_note.dateCreated];
    cell.textLabel.text = title;
    cell.detailTextLabel.text = _note.note;

textLabel と detailTextLabel に基づいてテーブルの行の高さを調整しようとしています。textLabel は 1 行を超えません。detailTextLabel には、さまざまな長さの大きなテキストが含まれています。デリゲート メソッド heightForRowAtIndexPath の例をいくつか読みましたが、heightForRowAtIndexPath メソッドで何を行う必要があるか、cellForRowAtIndexPath でどのコードを使用する必要があるかを明確に示しているものはありません。textLabel と detailTextLabel を含むコンテンツに基づいてテーブル行の高さを調整するために、heightForRowAtIndexPath と cellForRowAtIndexPath の 2 つのメソッドにどのコードを入れる必要があるかを明確に説明してください。

4

1 に答える 1

0

私はあなたの問題の解決策のアイデアを提供しようとしています. それがあなたを助けることを願っています。

 -(CGFloat)getLabelHeightForIndex:(NSString*)strTemplate{
CGSize maximumSize = CGSizeMake(tblView.frame.size.width-50, 20000);
NSString* result  = [strTemplate stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
strTemplate = result;
CGSize labelHeighSize = [strTemplate sizeWithFont: [UIFont fontWithName:@"HelveticaNeue-Light" size:14.0] constrainedToSize:maximumSize lineBreakMode:NSLineBreakByWordWrapping];
return labelHeighSize.height;


上記のメソッドを使用して、いずれかのラベル、つまり textLabel または defaulttestLabel の高さを取得し、tableView セルの他のビューの中央にある別のビューを管理する必要があります。

于 2013-11-12T13:14:05.913 に答える