J'ai un problème. J'ai un Customable UITableViewCel, la cellule contient un curseur qui modifie une valeur sur une étiquette sur la cellule. En cliquant sur la cellule, puis déplacer la table, la valeur se reproduit sur une autre cellule, puis modifie la valeur à une autre cellule, la réinitialisation de sa valeur à 0.Personnalisation de TableViewCell en changeant des valeurs de manière aléatoire?
fins de démonstration:
premier réglage de la la valeur
en cliquant sur une cellule aléatoire retourne alors:
une cellule totalement différente avec le sam Les données qui n'ont pas été mises là.
Et puis au retour dans la cellule où la valeur a été la première série:
La valeur est à 0
Quelqu'un peut-il me aider:
Ma valeur de curseur a changé de code;
labelSliderVal.text = [NSString stringWithFormat:@"%1.0f", sliderSlider.value];
if(sliderSlider.value < 30)
{
self.backgroundColor = [UIColor redColor];
}
else if(sliderSlider.value > 60)
{
self.backgroundColor = [UIColor greenColor];
} else {
self.backgroundColor = [UIColor blueColor];
}
Et mes UITableViews didSelectRowAtIndexPath
en commentaire
/*
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
// Navigation logic may go here. Create and push another view controller.
/*
<#DetailViewController#> *detailViewController = [[<#DetailViewController#> alloc] initWithNibName:@"<#Nib name#>" bundle:nil];
// ...
// Pass the selected object to the new view controller.
[self.navigationController pushViewController:detailViewController animated:YES];
[detailViewController release];
}*/
cellForRowAtIndexPath:
- (CustomCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"customCell";
CustomCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
NSArray *nibObjs = [[NSBundle mainBundle] loadNibNamed:@"CustomCellView" owner:nil options:nil];
//cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
for(id currentObj in nibObjs)
{
if([currentObj isKindOfClass:[CustomCell class]])
{
cell = (CustomCell *)currentObj;
}
}
}
GradeToolAppDelegate * appDelegate = [UIApplication sharedApplication].delegate;
Module *aModule = [appDelegate.modules4 objectAtIndex:indexPath.section];
AssessmentDetail *anAssess = [aModule.assessmentDetails4 objectAtIndex:indexPath.row];
cell.sliderSlider.tag = indexPath.row;
cell.labelAssessment.text = [NSString stringWithFormat:@"%@", anAssess.assessmentName4];
cell.labelAssessmentType.text = [NSString stringWithFormat:@"%@", anAssess.assessmentType4];
cell.labelWeighting.text = [NSString stringWithFormat:@"%@", anAssess.assessmentWeighting4];
cell.labelDueDate.text = [NSString stringWithFormat:@"%@", anAssess.assessmentDueDate4];
return cell;
}
Cela ressemble à un problème de réutilisation de cellule. Il semble également que les cellules soient utilisées (ou essayent d'être utilisées) pour "maintenir" les données au lieu de simplement les afficher. Si vous publiez la méthode cellForRowAtIndexPath, les utilisateurs peuvent vous donner des conseils plus spécifiques. – Anna