当我选择第一行时,它会在上面显示复选标记.
但是当我滚动tablevIEw时,它不仅在tablevIEw单元格上有一个复选标记.
它也显示在另一个细胞上.
这有什么问题?
self.dataAry = [NSArray arrayWithObjects:@"0",@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9",@"10",@"11",@"12",@"13",@"14",@"15",@"16",@"17",@"18",@"19",nil];marks = [NSMutableArray new];for (int i = 0 ; i < [self.dataAry count]; i++) { [marks addobject:@"NO"];}- (UItableVIEwCell *)tableVIEw:(UItableVIEw *)tableVIEw cellForRowAtIndexPath:(NSIndexPath *)indexPath {static Nsstring *CellIDentifIEr = @"Cell";UItableVIEwCell *cell = [tableVIEw dequeueReusableCellWithIDentifIEr:CellIDentifIEr];if (cell == nil) { cell = [[[UItableVIEwCell alloc] initWithStyle:UItableVIEwCellStyleDefault reuseIDentifIEr:CellIDentifIEr] autorelease];}cell.textLabel.text = [dataAry objectAtIndex:indexPath.row];if ([[marks objectAtIndex:indexPath.row] isEqualToString:@"YES"]) { [cell setAccessoryType:UItableVIEwCellAccessorycheckmark];}else { [cell setAccessoryType:UItableVIEwCellAccessoryNone];}// Configure the cell.return cell;}- (voID)tableVIEw:(UItableVIEw *)tableVIEw dIDSelectRowAtIndexPath:(NSIndexPath *)indexPath{UItableVIEwCell *thisCell = [tableVIEw cellForRowAtIndexPath:indexPath];if ([[tableVIEw cellForRowAtIndexPath:indexPath] accessoryType] == UItableVIEwCellAccessorycheckmark){ [[tableVIEw cellForRowAtIndexPath:indexPath] setAccessoryType:UItableVIEwCellAccessoryNone]; [selectArray removeObject:[self.dataAry objectAtIndex:indexPath.row]]; [marks replaceObjectAtIndex:indexPath.row withObject:@"NO"]; } else { [[tableVIEw cellForRowAtIndexPath:indexPath] setAccessoryType:UItableVIEwCellAccessorycheckmark]; [selectArray addobject:[self.dataAry objectAtIndex:indexPath.row]]; [marks replaceObjectAtIndex:indexPath.row withObject:@"YES"]; }}解决方法 我认为这是由于重新使用经过检查标记的单元格.要纠正这个问题,请写下:
*if ([[marks objectAtIndex:indexPath.row] isEqualToString:@"YES"]) {[cell setAccessoryType:UItableVIEwCellAccessorycheckmark];}else {[cell setAccessoryType:UItableVIEwCellAccessoryNone];*
脱离细胞重用空间.那是后:
…
}
//配置单元格.
就在此之前
*return cell;*总结
以上是内存溢出为你收集整理的iphone – UITableView中的选中标记全部内容,希望文章能够帮你解决iphone – UITableView中的选中标记所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)