我有一个奇怪的问题。

我从在线加载值并显示在我的UITableViewCell中。它工作正常...我面临的问题是,如果我向下滚动应用程序从网上相应地获取,但是当我向上滚动时,值正确匹配...

如果strLocation不为空,则显示LocationImageView;如果strLocation为空,则隐藏LocationImageView。当我最初加载应用程序时,这工作正常,当我滚动表并向下移动时,如果某些值具有strLocation空白,则它隐藏了LocationImageView,但是会发生什么,在表顶部,其中strLocation是不为null,在那些地方LocationImageView也被隐藏。

我想知道如何解决这个问题

cell.cityLabel.text = [dictionary valueForKey:@"location"];

NSString *strLocation = [dictionary valueForKey:@"location"];


if ([strLocation isEqual:@""]){
    cell.LocationImageView.hidden=TRUE;
}

最佳答案

处理细胞时的标准问题。 UITableView(如果正确使用)会重复使用单元格,因此您需要正确更新单元格。如果允许某个组件被隐藏,则还需要放置一个代码,如果数据允许的话,该代码将允许显示该组件。看着您的代码片段,您只是在隐藏组件,而没有办法将其重新组合。

我猜想看你的代码这样做:

cell.LocationImageView.hidden=[strLocation isEqual:@""];


应该解决问题。

10-08 15:42