La selección de GMGridView está anulando

introduzca la descripción de la imagen aquíintroduzca la descripción de la imagen aquí Tengo un problema extraño, mientras uso GMGridView. De hecho, estoy usando GMGridview para mostrar las tablas del restaurante. Si seleccioné la Tabla 1 (que significa primera celda), debería cambiar a rojoColor (eso significa que está ocupada en la tabla). Lo hice, pero mi problema es cuando selecciono una celda 1 (color rojo), ese color rojo se muestra en todas las classs donde sea que haya usado GMGridview. Eso está completamente equivocado, sin ninguna selección en la otra class, se muestra como seleccionado.

En las imágenes a continuación, si seleccioné 1, está mostrando 7 también seleccionado …..

Y mi código es

- (GMGridViewCell *)GMGridView:(GMGridView *)gridView cellForItemAtIndex:(NSInteger)index{ CGSize size = [self GMGridView:gridView sizeForItemsInInterfaceOrientation:[[UIApplication shanetworkingApplication] statusBarOrientation]]; GMGridViewCell *cell = [gridView dequeueReusableCell]; int isOccupied = [[[self.arrayOfoccupiedTables objectAtIndex:index] objectForKey:@"TStatus"] intValue]; if (!cell) { cell = [[[GMGridViewCell alloc] init] autorelease]; UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, size.width, size.height)]; cell.contentView = view; } [[cell.contentView subviews] makeObjectsPerformSelector:@selector(removeFromSuperview)]; UILabel *label = [[UILabel alloc] initWithFrame:cell.contentView.bounds]; label.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; label.textAlignment = UITextAlignmentCenter; label.backgroundColor = [UIColor clearColor]; label.font = [UIFont fontWithName:APPFONTLI size:22.0f]; label.adjustsFontSizeToFitWidth = YES; if (isOccupied == 100001) { label.textColor = [UIColor whiteColor]; label.highlightedTextColor = [UIColor blackColor]; label.backgroundColor = [UIColor networkingColor];//networkingColor]; //colorWithRed:43.0f/255.0f green:150.0f/255.0f blue:0.0f/255.0f alpha:1.0f];//GreenColor label.text = [[self.filtnetworkingArray objectAtIndex:index] objectForKey:@"TableName"]; }else if(isOccupied == 100002) { label.textColor = [UIColor whiteColor]; label.highlightedTextColor = [UIColor blackColor]; label.backgroundColor = [UIColor colorWithRed:43.0f/255.0f green:150.0f/255.0f blue:0.0f/255.0f alpha:1.0f]; //colorWithRed:215.0f/255.0f green:215.0f/255.0f blue:0.0f/255.0f alpha:1.0f];//GreenColor label.text = [[self.filtnetworkingArray objectAtIndex:index] objectForKey:@"TableName"]; } else if(isOccupied == 100003) { label.textColor = [UIColor blackColor]; label.highlightedTextColor = [UIColor whiteColor]; label.backgroundColor = [UIColor colorWithRed:215.0f/255.0f green:215.0f/255.0f blue:0.0f/255.0f alpha:1.0f];// Yellow Color //colorWithRed:229.0f/255.0f green:229.0f/255.0f blue:229.0f/255.0f alpha:1.0f];//GrayColor label.text = [[self.filtnetworkingArray objectAtIndex:index] objectForKey:@"TableName"]; } [cell.contentView addSubview:label]; return cell; } - (void)GMGridView:(GMGridView *)gridView didTapOnItemAtIndex:(NSInteger)position { NSLog(@"Did tap at index %d", position); [[SoundManager shanetworkingSoundManager] playSound:SELECTED]; //[self performSelector:@selector(registerTableToTheServer:) withObject:nil afterDelay:0.2]; [self registerTableToTheServer:[[self filtnetworkingArray] objectAtIndex:position]]; NSInteger tableId = [[[[self filtnetworkingArray] objectAtIndex:position] objectForKey:@"Table_id"] intValue]; [self createPlistWithTableId:tableId]; [_gmGridView reloadData]; } 

Y que estoy recargando la vista de cuadrícula en viewWillAppear y viewDidLoad también. No encontré nada útil. Por favor, ayúdame chicos.

 - (GMGridViewCell *)GMGridView:(GMGridView *)gridView cellForItemAtIndex:(NSInteger)index{   CGSize size = [self GMGridView:gridView sizeForItemsInInterfaceOrientation:[[UIApplication shanetworkingApplication] statusBarOrientation]];   GMGridViewCell *cell = [gridView dequeueReusableCell];  int isOccupied = [[[self.arrayOfoccupiedTables objectAtIndex:index] objectForKey:@"TStatus"] intValue];  if (!cell)  {    cell = [[[GMGridViewCell alloc] init] autorelease];         UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, size.width, size.height)];    cell.contentView = view;  } //TRY TO RELOAD THE MG_GRIDVIEW HERE } 
    Intereting Posts