gpt4 book ai didi

ios - UITableView 一些单元格重叠

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:51:11 25 4
gpt4 key购买 nike

我有一个具有不同行高的表格 View 。单元格的高度基于每个单元格中的文本量。标签是在 IB 中创建的,带有尾随、前导和顶部约束,以便它可以向下扩展。当我测试我的应用程序时,第一个单元格是好的,但是一旦我向下滚动,一切都开始变得困惑。单元格高度不对,看起来单元格重叠。

-(TableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

postCell = [TableView dequeueReusableCellWithIdentifier:@"Cell"];

if (postCell == nil) {

postCell = [[TableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Cell"];

}


postCell.label.text = [array objectAtIndex:indexPath.row];

return postCell;


}

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {


NSString *textString = [array objectAtIndex:indexPath.row];
CGRect frame = [textString boundingRectWithSize:CGSizeMake([UIScreen mainScreen].bounds.size.width - 69, 1000.0f) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:14.0]} context:nil];
return ceil(frame.size.height) + 80;



}

最佳答案

我认为您必须使用以下方法来计算单元格高度:

-(CGFloat)heightForText:(NSString *)text
{

UITextView * textView = [[UITextView alloc] initWithFrame: CGRectMake(x, y, width, height)];
textView.text = text;
textView.font = [UIFont fontWithName:@"Helvetica" size:15];
[textView sizeToFit];

return textView.frame.size.height;
}

使用此方法计算单元格高度后:

- (float)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
CGFloat ht=[self heightForText:your text];
}

希望您能正确设置表格 View 单元格的高度。

关于ios - UITableView 一些单元格重叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27576847/

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