我有一个自定义单元格,其中包含UITextView
。我加载到此UITextView
的文本长度从非常短变为非常长。所以请不要说“使用标签代替”。我希望将单元格保持在相同的高度,但如果文本太长,则使用UITextView
的垂直滚动。
我尝试了here方法,但由于我在cellForRowAtIndexPath
事件中使用自定义单元格初始化,因此观察者无效。我在initWithStyle
函数下的单元格类中尝试了相同的方法,但也没有用。
你还有什么建议?或者我应该以不同的方式使用此功能?任何帮助表示赞赏。
提前致谢。
答案 0 :(得分:2)
使用此 -
CGSize textSize = [myText sizeWithFont:whateverFont constrainedToSize:myTextViewBox.frame.size lineBreakMode:UILineBreakModeWordWrap];
...然后找出contentOffset并在将UITextView添加到表格时进行设置。
答案 1 :(得分:1)
在TableView dataSource中 -
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
NSUInteger row = [indexPath row];
static NSString *CellIdentifier = @"myCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
} else { // if there is already a subview, remove it
while ([[cell.contentView subviews] count] > 0) {
UIView *labelToClear = [[cell.contentView subviews] objectAtIndex:0];
[labelToClear removeFromSuperview];
}
}
UITextView *myTextView = // initialise your textView here, including setting its contentOffset
[cell.contentView addSubview:myTextView];
return cell;
}
答案 2 :(得分:1)
Here's a gist我做了如何垂直对齐UITextView