0

UITextView は UITableViewController の静的セルにありdescriptionText.sizeToFit()、セルの高さがテキストに収まるようにコードを追加します。

セルはテキスト入力がほとんどなくても正常に機能します。テキストが増えると、セルの下部の空白も高くなります。

コードを追加しようとしましたが、機能descriptionText.contentInset = UIEdgeInsetsMake(0, 0, 0, 0)しませんでした。

何か助けはありますか?ありがとう。

スクリーンショット

更新: 奇妙なことに、ios8 で実行すると空白が表示されますが、セルが非表示になるように下にスクロールしてから上にスクロールすると、空白が消えます! 正常に動作することを意味します。どうしたの?

4

2 に答える 2

0

これを行う方法は次のとおりです。各 UITextView の高さを計算し、heightForRowAtIndexPath:メソッドで高さ (必要に応じて + パディング) を返します。

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSString *body = self.messages[indexPath.row];
    CGRect rect = [body boundingRectWithSize:CGSizeMake([width of your UITextViews], CGFLOAT_MAX) options:(NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeading) attributes:@{NSFontAttributeName:[UIFont fontWithName:@"HelveticaNeue" size:[Font Size]} context:nil];
    return rect.size.height;
}
于 2015-01-26T08:59:26.637 に答える