UITextView不会以多行显示

时间:2014-05-21 07:56:36

标签: ios iphone objective-c mobile uitextview

我的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;

}

这是一张图片:Screenshot

2 个答案:

答案 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)