2011-02-21 5 views
0

入れたいテキストの長さに応じてサイズを変更するカスタムUITableViewCellを作成できますか?可能であれば、どうしたらいいですか?resizable UITableViewCell

答えて

1

@EquinoXはい、それはheightForRowAtIndexPathデリゲートを通して可能です....彼らはあなたが求めているのと同じものを持ってthisDynamic Height UITableViewCellに見てください。

Good Luck!

0

このSample Codeをご覧ください。お探しのものをそのまま使用しています。

1

は絶対に、

私はそれをモデル(その中のデータを持つだけでNSObjectのを)渡すことで、私のセル上のすべてのデータを設定したいです。次に、モデルでデータを設定できるカスタムセルを作成し、クラスレベルの関数を追加してサイズを返します。それはこのように見えます。

TableViewDelegate:

-(float)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { 
    XTableViewCellModel *model = [self modelForIndexPath:indexPath]; 
    return [XTableViewCell cellHeight:model]; 
} 

XTableViewCell:

+(CGFloat)cellHeight:(XTableViewCellModel*)model { 
    CGSize titleSize = [model.title sizeWithFont:model.titleFont 
         constrainedToSize:CGSizeMake(280, 9999) 
          lineBreakMode:UILineBreakModeTailTruncation]; 
    return titleSize.height; 
} 

注9999点の高さに達した後UILineBreakModelTailTruncationにlineBreakModeを設定するのみ有効になること。それまではテキストは通常​​通りに折り返されます。

私のオープンソースフレームワークはこのようなものを中心にしています。これはデフォルトで構築されたサイズ変更可能な多くのセルタイプを持っています:https://github.com/andrewzimmer906/XCell

関連する問題