2017-04-21 1 views
1

J'essaie d'implémenter la page de sélection de jour d'alarme, comme l'écran d'alarme dans l'iPhone. Je peux marquer plusieurs cellules à la fois mais le problème est que lorsque je marque la ligne 1 & 2 je ne peux pas identifier que les deux lignes sont marquées. Quelqu'un peut-il m'aider?Identifier la rangée de cellules marquée ios

ici est l'écran, que je l'ai mis en œuvre image here]

NSUserDefaults *dd=[NSUserDefaults standardUserDefaults]; 


    UITableViewCell *cell= [tableView cellForRowAtIndexPath:path]; 

if (path.row==0) { 
    if (cell.accessoryType == UITableViewCellAccessoryCheckmark) { 
     cell.accessoryType = UITableViewCellAccessoryNone; 



    } else { 
     cell.accessoryType = UITableViewCellAccessoryCheckmark; 


     [dd setObject:@"sun" forKey:@"key"]; 

     [email protected]"sun"; 


    } 

} 
if (path.row==1) { 
    if (Tablcell.accessoryType == UITableViewCellAccessoryCheckmark) { 
     Tablcell.accessoryType = UITableViewCellAccessoryNone; 
    } else { 
     cell.accessoryType = UITableViewCellAccessoryCheckmark; 

     [email protected]"mon"; 
      [dd setObject:@"mon" forKey:@"key"]; 

    } 

[dd synchronize]; 
} 
+0

Lorsque vous voulez vérifier quelles lignes sont marquées? –

+0

Lorsque j'appuie sur le bouton de retour, je veux obtenir les valeurs des lignes marquées. – Justin

+0

Il semble que le bouton de retour est de l'élément de navigation. Vous pouvez vérifier quand il est pressé mais c'est une histoire différente. Tu peux faire une chose. Il semble que votre multipleSelection est activée. Vous pouvez vérifier ** indexPathsForSelectedRows ** dans la méthode ** viewWillDisappear **. Ou ajoutez un bouton de retour personnalisé, ajoutez-y une méthode et quand il est pressé, vérifiez ** indexPathsForSelectedRows **. –

Répondre

-1

Étape: 1

Créer un tableau commun

NSMutableArray *selectedIndexArray; 

Étape 2 En didSelectItemAtIndexPath Méthode ajouter une valeur d'index dans selectedInde xArray

NSString *str = [NSString stringWithFormat:@"%ld",(long)indexPath.item]; 
[selectedIndexArray addObject:str]; 

Étape 3 Dans didDeselectItemAtIndexPath Méthode supprimer la valeur d'index de selectedIndexArray

NSString *str = [NSString stringWithFormat:@"%ld",(long)indexPath.item]; 
if([selectedIndexArray containsObject:str]){ 

     [selectedIndexArray removeObject:str]; 
} 

Étape: 4

Vous pouvez maintenant utiliser ce tableau pour afficher/cacher le bouton vérifié dans la cellule

+0

Merci d'avoir accepté comme réponse –