2014-05-21 92 views
-1

我有一個UITableView。在每個單元格中,我都有一個UITextView,長度可變。 我希望UITextView可以擴展以適合所有文本。使UITextView展開並向下移動其他對象

[UITextView sizeToFit]; 

不起作用。 此外,我需要將其展開向下移動到單元格中的其他標籤和對象(當然,單元格的高度必須改變)。 我該怎麼做?

回答

0

您需要根據UITextView的

這裏的幀更新每個視圖的框架是林想說的,它只是一個樣本,你不得不修改的所有未來的看法

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ 
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"tblCell"]; 
    UITextView *txt = [cell viewWithTag:1]; 
    txt.text =[arr objectAtIndex:indexPath.row]; 
    [txt sizeToFit]; 

    CGRect frame = txt.frame; 
    CGRect frame2; 

    UILabel *lbl = [cell viewWithTag:2]; 
    frame2 = lbl.frame; 
    if(frame.size.width + frame2.size.width >= cell.frame.size.width){ 
     frame2.origin.x = 0; 
     frame2.origin.y += frame.size.height; 
     [lbl setFrame:frame2]; 
    } 
    else{ 
     frame2.origin.x = frame.size .width; 
     [lbl setFrame:frame2]; 
    } 
return cell; 

} 
1

第一幀大家要聲明的委託方法heightForRowAtIndexPath:,然後使用此代碼

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    CGFloat rowHeight; 
    NSString *text1 = [arrTemp objectAtIndex:indexPath.row]; //your text 
    CGRect frame = [text1 boundingRectWithSize:CGSizeMake(160, CGFLOAT_MAX) 
             options:NSStringDrawingUsesLineFragmentOrigin 
            attributes:@{NSFontAttributeName:[UIFont fontWithName:@"Helvetica" size:12]} 
             context:nil]; // here get the height of ur textline 

    CGSize size = CGSizeMake(frame.size.width, frame.size.height+1); 
    rowHeight=size.height*2; 

    return rowHeight; 
} 


希望這段代碼對你很有幫助,你可以很容易地實現它。

+0

它爲我工作。感謝@ilesh – g212gs

相關問題