2012-04-09 8 views
1

セル内のtextviewの内容に従って、テーブルビューのセルの高さを動的に増やしたいと考えています。ここでは、textviewを作成し、そのテキストビューをサブビューとしてセルに追加します。したがって、textviewの内容に応じて、tableviewセルの高さが固定されます。どのようにそれを行うか知っています。事前にUITextViewの内容によるテーブルビューのセルの高さ

おかげ

+0

[オートのUITableViewCellの高さを調整Objective-Cでそれの内容に依存](http://stackoverflow.com/questions/3932088/auto-adjustの可能重複 - uitableviewセル - 高さ - その内容に依存する - 目的 - c) – Ilanchezhian

答えて

6
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath 
    { 
     int rowHeight =0.0f; 

     NSString *temp = @"bqDHJIGQ BQWFVHWEF Q dsbkn w jwh ndbvdhqd bdhjqdv dqvhdqvb dbqvwvhdqwwd bqwdhjvqwdhjvqwd bqdwjhqwdvbqwd q dbdqwqbvqwdvdw qwdhqwdvbqw dbqvwdjqwd dwbvvqjwd nqdjqvdjqw dwnqwdjvqhdq nwwdjqwvdhjqwd qwdhjvhvbjd n qhjdvqdw dbqw wbdww."; 

     CGSize size = [temp sizeWithFont:[UIFont systemFontOfSize:13.0f] constrainedToSize:CGSizeMake(300, 5000) lineBreakMode:UILineBreakModeWordWrap];// calculate the height 

       rowHeight = size.height+10; // i use 10.0f pixel extra because depend on font 

     return rowHeight; 
    } 
+0

非常に素晴らしい説明的な答え。 – freelancer

+0

ありがとうございます。 –

+0

ようこそGanesh :-) – Deepesh

0
-(CGFloat) tableView: (UITableView *) tableView heightForRowAtIndexPath: (NSIndexPath *) indexPath{ 

    CGSize labelSize = CGSizeMake(200.0, 20.0); 
    NSString *strTemp = @"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."; 
    if ([strTemp length] > 0) 
     labelSize = [strTemp sizeWithFont: [UIFont boldSystemFontOfSize: 14.0] constrainedToSize: CGSizeMake(labelSize.width, 1000) lineBreakMode: UILineBreakModeWordWrap]; 
    return (labelSize.height + 10); 

} 
関連する問題