2012-05-12 158 views
0

我正試圖動態地重新計算包含UITextView的單元格的高度。單元格的高度取決於UITextView的高度。動態單元格高度iOS

下面的源代碼重新計算表格中每個單元格的高度。這是NSDictionary的一些文字。在所有高度重新計算後,我用包含在數組heightCells中的新高度重新加載我的表視圖;

UITextView *tempTextView = [[UITextView alloc] init]; 
UIFont *font = [UIFont fontWithName:@"Helvetica" size:16.0]; 
[tempTextView setFrame:CGRectMake(10, 63, 300, 9999)]; 
[tempTextView setFont:font]; 
NSString *str = [d valueForKey:@"definition"]; // set long text 
tempTextView.text = str; 
CGRect frame = tempTextView.frame; 
frame.size.height = tempTextView.contentSize.height + 20.0; 
tempTextView.frame = frame; 
[tempTextView sizeToFit]; 
int height = tempTextView.frame.size.height + 150.0; // set padding 150.0 px 
[heightCells addObject:[NSNumber numberWithFloat:height]]; 

UITableView方法:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { 
    return [[heightCells objectAtIndex:indexPath.row] floatValue]; 
} 

在沒有視網膜顯示一切工作的良好和高度重新計算正確,但視網膜顯示器上我有問題,重新計算。我知道視網膜而不是視網膜有一個320x480點的視圖,它不應該影響重新計算。但在我的情況下,這是顯示。

請看下面的截圖。正如你可以看到在屏幕截圖後,共享按鈕後的底部填充不同於視網膜而不是視網膜顯示。我不知道這種問題是哪一種。

retina

not retina

感謝您的幫助!

回答

1

看起來tempTextView的框架在UITableViewCell上有所不同。我在這個answer中描述了我的工作技巧。

相關問題