1
我通過Interface Builder向tableView添加了一些tableViewCells,其中一個包含UITextView。無法更改UITextView的大小
的的tableView被重載的按鈕被點擊:
- (void)updateViewWithMessage:(NSString *)message
{
self.someMessage = message;
[self.tableView reloadData];
}
在我的cellForRowAtIndexPath方法我檢查該小區並執行以下操作:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
CellIdentifier = kMyCustomCell;
MyCustomCell *contentCell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
CGRect textViewFrame = contentCell.contentTextView.frame;
textViewFrame.size.height = [self heightForContentView];
NSLog(@"%f, %f, %f, %f\n", textViewFrame.origin.x,
textViewFrame.origin.y,
textViewFrame.size.width,
textViewFrame.size.height);
contentCell.contentTextView.frame = textViewFrame;
contentCell.contentTextView.text = self.someMessage;
return contentCell;
}
在heightForContentView()我計算高度:
- (CGFloat)heightForContentView
{
CGSize boundingRectSize = CGSizeMake(kCustomCellWidth - 20, CGFLOAT_MAX);
CGRect textViewRect = [self.someMessage boundingRectWithSize:boundingRectSize
options:NSStringDrawingUsesLineFragmentOrigin
attributes:nil
context:nil];
return textViewRect.size.height + 20;
}
單元格,如果我將行Height設置爲某物,正確調整大小。但textView中沒有。 如果我點擊我的按鈕兩次(updateViewWithMessage:方法再次調用),然後調整大小 - 這很奇怪!順便說一下:NSLog打印正確的大小,所以他們肯定是設置,但爲什麼這個TextView不調整大小呢?
有人可以幫我快速解決這個問題嗎?評論後
nope,問題依然存在 – Kuno
您的單元格從uitextview的新大小正確調整大小,但是您的textview不能調整大小? –
是的,我可以根據需要將單元格大小調整爲高度 - 好的。但是我不能改變其包含的UITextView的大小,只有在界面構建器中更改它纔會更改。但我希望更具動態性......我在TextView上編程的更改對它的SIZE沒有任何影響。 – Kuno