最終更新: t_tonosama 2012年07月23日(月) 22:33:51履歴
ツイッタークライアンとのようにツイートの内容によってUITableViewCellの高さを動的に変化させたいときがあります。
簡単に以下に示します。
UITableViewCellクラス
UITableViewControllerを継承したクラス
簡単に以下に示します。
UITableViewCellクラス
/** * セルの高さを算出します。 * * @param text 算出基準となるテキスト。 * * @return 高さ。 */ + (CGFloat)calcHeight:(NSString*)text { const CGFloat defaultCellHeight = 100; const CGFloat defaultTextHeight = 5; UIFont* font = [UIFont systemFontOfSize:16]; CGSize size = CGSizeMake( 230, 1000 ); CGSize textSize = [text sizeWithFont:font constrainedToSize:size lineBreakMode:UILineBreakModeCharacterWrap]; // NSLog(@"height:%lf",defaultCellHeight + ( textSize.height - defaultTextHeight )); // デフォルトのセル高さ+ return defaultCellHeight + ( textSize.height - defaultTextHeight ); }
UITableViewControllerを継承したクラス
// テーブルビューの高さを設定するメソッド - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { return [UITableViewCell calcHeight:text]; }
コメントをかく