1

UILabel を含むカスタム テーブル セルがあります。私が望むことは、2 つの方法で実行できます。

1- 長いテキストを含む Label の高さを見つけ、rowHeight を設定してテキスト全体を表示します。

2- UILabel をスクロール可能にして、ユーザーが手でテキストを上下に動かして文字列全体を読めるようにします。

どちらをどうすればよいか、アドバイスをいただけないでしょうか。

4

3 に答える 3

1

文字列の長さによってはテーブルセルが大きくなる可能性があるため、ほとんどの場合、最初のオプションを使用しないことをお勧めします。

2番目のオプションについて:UIScrollViewをサブビューとしてテーブルビューセルに追加できるはずです。スクロールビューには、フルサイズのテキストラベルを含めることができ、固定サイズのセル内でそれらをスクロールできます。

于 2012-05-16T19:51:45.353 に答える
1

テキストが静的で動的に変化しない場合は、最初のオプションを使用する必要があります。結果をキャッシュできるため、テーブルを更新するたびにテキストを再計算する必要がありません。sizeWithFont:constrainedToSize:lineBreakModeを使用して、実際のテキスト サイズを計算できます。

行の高さについては、rowHeight は 1 つのセルだけでなくすべての行の高さを変更するため、rowHeight ではなくtableView:heightForRowAtIndexPath:を使用する必要があります。

テーブル内のスクロール可能なテキストビューまで:私の意見では、アプリの安価なソリューションのように見え、少しアマチュアになります.

于 2012-05-16T19:56:46.583 に答える
1

それを行う方法の例はありますか? iphone初心者です、お手数おかけしてすみません。– パノス 9 分前

UIScrollView *scroller = [[UIScrollView alloc]initWithFrame:cell.frame];
scroller.contentSize = CGSizeMake(280, 100);
UILabel *test = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 100, 20)];
test.text = @"This would be your label.";
[scroller addSubview:test];
[cell addSubview:scroller];

これにより、UIScrollView と tablecell 'cell' のラベルが作成されます。これは機能しますが、既にスクロールを提供しているテーブルビュー内のスクロールビューになるため、これが最善の解決策ではないと思います。私のアドバイスは、行の高さを調整することです。

于 2012-05-16T20:05:09.697 に答える