UITableView reloadData automatiquement les appels resignFirstResponder

J'ai cette UITableView personnalisée avec des cellules qui ne peut obtenir que des valeurs prédéfinies, donc j'utilise un UIPickerView que leur inputView. Tout est drôlement bon jusqu'à ce que j'ai modifier un champ et le besoin de montrer sa valeur de mise à jour.

Afin de rendre les choses plus claires et plus faciles à gérer, j'ai fait les délégués et les sources de données dans des classes séparées, et utiliser les notifications pour les faire interagir avec le tableView. Ainsi, lorsqu'une valeur a été choisie à partir de la UIPickerView, la tableView de la source de données est notifié, et à son tour, informe le principal ViewController qui contient une référence à la tableView. À partir de là, j'appelle

[_tableView reloadData];

et tout semble fonctionner, sauf que le UIPickerView disparaît, je pense que parce que les cellules sont régénérées et quelque resignFirstResponder est appelé, ou quelque chose comme ça.
Est-il un autre moyen de faire de la tableView la mise à jour de ses valeurs sans avoir à mettre en œuvre une méthode personnalisée quelque part que le fait, ce qui serait assez moche?

  • Avez-vous essayé de ne pas recharger toute la vue de la table, seulement recharger l'effet de ligne? essayez cette méthode: -reloadRowsAtIndexPaths:withRowAnimation:
  • Resings? hehe Oh la différence de permuter deux lettres de fait. 🙂
  • Il n'a pas l'air simple, vous devrez peut-être fournir des informations plus détaillées
  • Merci pour l'astuce, je vais essayer ça. @Richard LOL merci, corrigé 🙂
  • Malheureusement, cette méthode entraîne le même comportement (bien qu'il ne recharge la choisi la cellule). Merci quand même, je vais essayer de le faire manuellement.
  • Continue avec @cxa de la ligne de pensée: ne pas oublier la reloadSections:withRowAnimation: méthode sur UITableView. En utilisant cela a fonctionné pour moi.
  • Séquence [tableView beginUpdates], [tableView endUpdates] a fonctionné pour moi (iOS7)

InformationsquelleAutor Morpheu5 | 2011-06-20