在我的自定义表视图单元格子类中,其中一个文本标签的位置取决于ivar(NSString)的内容。 (即:如果NSString是空字符串,则文本标签的框架位置不同)。UITableViewCell自定义子类视图未更新
如果更新如下位置:
- (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];
像魅力一样工作。我的节目非常糟糕。谢谢。 – ratsimihah 2012-07-31 22:13:51
@HeryR。没问题。 – EJV 2012-07-31 22:24:14