我有一个奇怪的问题。
我从在线加载值并显示在我的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:@""];
应该解决问题。