gpt4 book ai didi

ios - 更改高度时如何在单元格中显示标签 View 的全文

转载 作者:行者123 更新时间:2023-11-29 03:19:04 24 4
gpt4 key购买 nike

我有一个带有自定义单元格的表格 View ,在我的单元格中,我有一个标签和一张图像,标签中的文本很长,所以我只显示前 2 行,然后使用换行符显示 3 个点“...” ,然后当用户点击单元格时,它将展开以显示标签的全文我在粘贴时更改单元格的高度,我这样做:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
if ([tableView indexPathsForSelectedRows].count) {

if ([[tableView indexPathsForSelectedRows] indexOfObject:indexPath] != NSNotFound) {


MsgInfo *info = [_msgInfos objectAtIndex:indexPath.row];
NSString *displayString = info.msg;




CGRect boundingRect =
[displayString boundingRectWithSize:CGSizeMake(self.tableView.frame.size.width - 2 * 10, 1000) options:NSStringDrawingUsesLineFragmentOrigin attributes:
@{ NSFontAttributeName : [UIFont fontWithName:@"B Yekan" size:18.0f]} context:nil];

CGFloat rowHeight = ceilf(boundingRect.size.height);

NSLog(@"Height = %f for '%@'", rowHeight, displayString);

return 54 + rowHeight + 2 * 10; // Expanded height


}

return 92; // Normal height
}

return 92; // Normal height
}

因此,当我点击单元格时,它会根据我的标签文本字体和大小进行扩展,

但是现在我想显示标签的全文,我知道我必须在didSelectRowAtIndexPath中设置label.numberofline =0,但是它不起作用。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{

static NSString *CellIdentifier = @"MsgCell";

UITableViewCell *cell =
[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle
reuseIdentifier:CellIdentifier];
}


UILabel *nameLabel = (UILabel *)[cell viewWithTag:100];

nameLabel.numberOfLines =0;
[nameLabel sizeToFit];
[nameLabel setLineBreakMode:NSLineBreakByWordWrapping];

[self.tableView beginUpdates];
[self.tableView endUpdates];
}

有什么帮助吗?

最佳答案

didSelectRowAtIndexPath 中,您将创建一个新单元格并更改其设置(不编辑现有单元格,也不编辑即将用于显示的任何单元格)。您应该做的是触发所选单元格的重新加载,以便重新计算新的高度并重新加载单元格。在 tableView:cellForRowAtIndexPath: 中,您应该具有类似的逻辑来检查是否选择了该行,然后设置标签上的行数。

tableView:cellForRowAtIndexPath: 中执行此操作还可以防止取消选择时出现问题,因为每次重复使用每个单元格时都必须为其设置行数。

关于ios - 更改高度时如何在单元格中显示标签 View 的全文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21336381/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com