我的UITableViewCell
有一个UITextView
。当表加载时,每个UITextView
中的所有文本都出现在一行中。我在UITextView
中使用白色文字颜色创建了IB
。如何让它以多行显示,为什么文本颜色会变为黑色?
每个UITableViewCell
的高度都是正确的。它通过拉下来刷新表后用于显示多行文本,但由于某种原因,它也停止了工作。
如果您需要任何其他信息,请告诉我。
以下是相关代码:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath object:(PFObject *)object {
BIDChatCell *cell = (BIDChatCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[BIDChatCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
}
// Configure the cell
cell.backgroundColor = [UIColor clearColor];
cell.userLabel.text = [object objectForKey:@"username"];
NSString *time = [object objectForKey:@"time"];
NSString *date = [time substringToIndex:10];
cell.timeLabel.text = date;
NSString *chatText = [object objectForKey:@"text"];
UIFont *font = [UIFont systemFontOfSize:14];
CGSize size = [chatText sizeWithFont:font constrainedToSize:CGSizeMake(200.0f, 1000.0f) lineBreakMode:UILineBreakModeCharacterWrap];
cell.textStringView.frame = CGRectMake(75, 15, size.width +20, size.height + 20);
cell.textStringView.font = [UIFont fontWithName:@"Helvetica" size:14.0];
cell.textStringView.text = chatText;
[cell.textStringView sizeToFit];
[cell.textStringView.textContainer setSize:cell.textStringView.frame.size];
CGRect frame = cell.textStringView.frame;
frame.size.height = cell.textStringView.contentSize.height;
cell.textStringView.frame = frame;
[cell layoutSubviews];
return cell;
}
这是一张图片:
答案 0 :(得分:0)
尝试设置textView的高度,如下所示:
CGRect frame = cell.textStringView.frame;
frame.size.height = cell.textStringView.contentSize.height;
cell.textStringView.frame = frame;
答案 1 :(得分:0)
UITextView是否具有正确的autoresizingMask
?
可能需要将其设置为(UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight)
以允许textview增长(因为它通常使用UIScrollView)