我遇到了一个奇怪的问题。
我从在线加载值并显示在我的UITableViewCell
中。它运行正常...我面临的问题是,如果我相应地向下滚动应用程序,但是当我向上滚动时,值正确匹配...
如果strLocation
不为null我正在显示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;
}
答案 0 :(得分:1)
处理细胞时的标准问题。 UITableView(如果使用得当)重用单元格,因此您需要正确更新单元格。如果您允许某些组件被隐藏,您还需要放置一个代码,以便在数据允许的情况下显示该组件。看看你的代码片段,你只是隐藏了组件,但没有办法把它绑回来。
我想看看你这样做的代码:
cell.LocationImageView.hidden=[strLocation isEqual:@""];
应该解决问题。