问题介绍:按照tableviewcell的tag自定义cell的view显示的时候,会出现拖动时显示错误情况(在Tableview的范围超出屏幕范围需要滑动的情况下)。
我做的是一个下载界面,我为了简化问题,就把问题设定为,tag==1的cell已下载,加载时就把已下载的cell的label显示为蓝色。其余默认为黑。
比如我在代码里,想要tag==1的cell的label字体为蓝色,这样写就会出现上下拖动时tag==11的也出现蓝色(视具体情况而定)。
if([cell.tag==1){ //tag==1就把label显示为蓝色 cell.label.textColor=[UIColor colorWithRed:79.0f/255.0f green:148.0f/255.0f blue:205.0f/255.0f alpha:1]; NSLog(@"此文件已下载,%d",(int)indexPath.row); }else{ /* //如果文件已经下载,默认label色为黑 cell.label.textColor=[UIColor blackColor]; NSLog(@"此文件未下载,%d",(int)indexPath.row); */ }
解决方法是:
加else,并且else里填入你期望的默认值
if([cell.tag==1){ //tag==1就把label显示为蓝色 cell.label.textColor=[UIColor colorWithRed:79.0f/255.0f green:148.0f/255.0f blue:205.0f/255.0f alpha:1]; NSLog(@"此文件已下载,%d",(int)indexPath.row); }else{ //如果文件已经下载,就修改BUTTON图案为勾 cell.label.textColor=[UIColor blackColor]; NSLog(@"此文件未下载,%d",(int)indexPath.row); }