【发布时间】:2025-12-27 22:35:07
【问题描述】:
在我的自定义表格视图单元子类中,文本标签之一的位置取决于 ivar (NSString) 的内容。 (即:如果 NSString 是空字符串,则 textlabel 框架的位置不同)。
位置更新如下:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
customOverlayCell *myCell = [self.tableView dequeueReusableCellWithIdentifier:@"CustomOverlayCell"];
if ([buildingFName isEqual:@""])
{
CGRect titleLabelFrame = myCell.titleLabel.frame;
titleLabelFrame.origin.y = 45;
[myCell.titleLabel setFrame:titleLabelFrame];
}
return myCell;
}
我删除了部分不相关的代码。
结果是屏幕上出现的第一个单元格的布局正确更新,但向下滚动后出现的视图布局没有更新。
我没有正确使用 dequeueReusableCellWithIdentifier 吗?还是有什么问题?
编辑:
来自 EJV 的解决方案:
CGRect titleLabelFrame = myCell.titleLabel.frame;
if ([buildingFName isEqual:@""])
{
titleLabelFrame.origin.y = 45;
} else {
titleLabelFrame.origin.y = 37;
}
[myCell.titleLabel setFrame:titleLabelFrame];
【问题讨论】:
标签: iphone ios uitableview