Supprimer l'input "Aujourd'hui" de UIDatePicker

Lorsque vous utilisez un UIDatePicker dans iOS SDK, il y a toujours une input "Aujourd'hui" à la date actuelle. C'est utile dans la plupart des cas, mais là où j'en ai besoin, c'est plutôt déroutant.

Y a-t-il un moyen de:

a) désactiver l'input "today" (utiliser la date régulière à la place) et faire en sorte que toutes les inputs soient identiques

ou même mieux

b) désactiver le "today" -entry (utiliser la date normale à la place), et colorier le lendemain en bleu

De plus, l'application est uniquement destinée à un usage privé, elle ne sera pas dissortingbuée sur l'AppStore, ce qui signifie que je pourrais utiliser des API privées (je préférerais les éviter) et je n'ai pas besoin d'être rétrocompatible. iOS 4 va bien.

J'ai eu un problème similaire avec le UIDatePicker ne correspond pas exactement à mes exigences (dans mon cas, j'avais besoin d'une datepicker sans roue de l'année). En regardant la reference UIDatePicker , il ne semble pas que vous puissiez désactiver l'input d'aujourd'hui, donc vous pourriez être forcé de faire ce que j'ai fait.

J'ai utilisé un UIPickerView et ré-implémenté la fonctionnalité de sélection de date dont j'avais besoin avec ça. Il y a quelques choses que vous devrez faire pour implémenter votre sélecteur de date personnalisé:

  • Implémentez une UIPickerViewDataSource pour définir les titres de ligne, les dimensions et les nombres de lignes.
  • Implémentez un UIPickerViewDelegate pour gérer les events de votre sélecteur personnalisé.
  • Assurez-vous de mettre à jour votre roue de jour lorsque la roue du mois change afin d'get des jours appropriés pour chaque mois. UIDatePicker le fait de manière transparente. Avec un time limité, je recharge simplement le sélecteur lorsque le mois change afin que le nombre de jours corresponde.

Je sais qu'une réponse a été acceptée, mais il existe un moyen de le faire si vous affichez la date et l'heure. C'est un hack mais ça marche. Il suffit de semer le sélecteur avec une année autre que l'année d'aujourd'hui, et le "Aujourd'hui" disparaîtra et sera remplacé par la date canonique.