0

私がやりたいのは、次のような 2 つの要素のみを持つレイアウトで UITableViewCell を作成することだけです。

"Text that can have a flexible length 
with mutliple lines..."
"one fix line directly follwing the above text"

したがって、基本的には 1. 必要に応じて完全なテキストを複数行で表示する必要がある可変長の柔軟なテキスト フィールド 2. すぐ後に続く 1 行

heightForRowAtIndexPathここで2番目のフィールドのレイアウトを行う方法はまだ役に立たないことがわかりました...

   -(void) layoutSubviews {
    [super layoutSubviews];
    [flexibleText setFrame:CGRectMake(  5.0,  5.0, 250.0, 40.0)];  //<- fexible height
        [one_line setFrame:CGRectMake(  5.0, 42.0, 250.0, 20.0)]; //<- followed by this one liner
}
4

1 に答える 1

1

UITableViewCell をサブクラス化し、レイアウトで最初のラベルに必要な大きさを計算する必要があります。これを見てください-[NSString sizeWithFont:forWidth:lineBreakMode:] は何に適していますか? 使い方について-[NSString sizeWithFont:constrainedToSize:lineBreakMode:]

次に、最初のフレームに基づいて 2 番目のラベルのフレームを再配置します。

次に、セルに必要な高さを返すメソッドを作成し、それをメソッドで呼び出すことができますheightForCell

于 2013-03-16T17:45:26.917 に答える