Je crée ma propre UIPickView pour les dates car j'ai seulement besoin de mois et de jours et je ne veux pas d'années, donc je ne peux pas utiliser UIDatePicker. Lorsque différents mois sont sélectionnés, je n'arrive pas à reproduire la façon dont UIDatepicker grise les jours d'indisponibilité. Par exemple: lorsque novembre est sélectionné, les jours 1-30 sont sélectionnables mais 31 ne l'est pas lorsque vous utilisez UIDatepicker. Est-ce que quelqu'un sait comment reproduire cela et rendre certaines lignes grisées et non sélectionnables. Merci à l'avanceUIPickerView - Comment rendre certaines lignes non sélectionnables et grisées
Répondre
Je sais que vous avez peut-être déjà compris cela, mais je voulais ajouter un peu plus d'informations pour ceux qui recherchent la même réponse.
Un autre itinéraire que vous pouvez essayer est via:
-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
Dans cette méthode, vous vérifier si les composants particuliers ou non dans le pickerView avaient une sélection valide. Si elle n'a pas alors remis à zéro le composant particulier (colonne - pourquoi ne pas qu'ils appellent simplement que) à une ligne valide avec:
[pickerView selectRow:validRow inComponent:component animated:YES];
Cela donnera l'effet que si l'utilisateur choisit une ligne invalide particulière , il va revenir en arrière (ou en bas) vers un valide.
De plus, vous pouvez modifier l'ensemble de données pour le composant en question, puis faire:
[pickerView reloadAllComponents];
Il suffit de garder à l'esprit que lorsque vous configurez le sélecteur, vous devrez faire cette validation sur la la première fois, assurez-vous qu'aucun jeu de données invalide n'est dans le pickerView par défaut.
Vous allez avoir à écrire une vue sélecteur sur mesure