d'abord ajouter cette fonction:
#define row_to_array_index(row) row%[YourArrayOfRowValues count]
en supposant un NSArray appelé YourArrayOfRowValues qui contient le texte pour chaque ligne.
Ensuite, dans votre méthode - (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
, revenir un grand nombre (comme 10000), et dans votre méthode - (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
, le retour (en supposant que 1 composant) [[self YourArrayOfRowValues objectAtIndex:row_to_array_index(row)];
Il n'y aura pas de succès la performance ou la mémoire. Aucun utilisateur n'essaiera jamais de descendre 10 000 lignes, faites-moi confiance. Et quand la fenêtre est rechargée, sélectionnez les mêmes données les plus proches du milieu.
Ce que vous essayez de dire, c'est le rendre * circulaire *. – mk12