• Aucun résultat trouvé

To Do List

N/A
N/A
Protected

Academic year: 2022

Partager "To Do List"

Copied!
2
0
0

Texte intégral

(1)To Do List Partie 4. Objectifs : - Implémenter l’ajout d’une photo - Implémenter la case à cocher Ajouter une photo Pour ce faire vous utiliserez les concepts suivants : • •. Tap Gesture Recognizer que vous glisserez sur l’ImageView de la photo. Cela permet de gérer le click sur la photo. Pensez également à cocher la case User interaction enabled dans les propriétés de l’ImageView. ImagePickerController. Pour accéder à la photothèque de l’iPhone. Implémenter la case à cocher L’objectif est ici de mettre à jour le modèle lorsque l’utilisateur coche ou décoche une tâche. Pour ce faire il vous faut gérer le click du bouton non plus dans MainTableViewCell mais dans MainViewController. Vous pourrez utiliser la fonction addTarget(self, action: #selector(buttonTapped(sender:)), for: .touchUpInside). Cette fonction exécutera la fonction buttonTapped lors du click du bouton avec en paramètre le bouton lui-même. L’idée générale est alors de récupérer la cellule dans laquelle le bouton est présent. Pour cela vous pourrez utiliser la propriété superview qui référence la vue mère d’un objet..

(2) Afficher le contenu de la cellule sélectionnée Votre contrôleur TaskViewController doit déclarer une variable d’instante de type ToDo?. C’est cet objet qui sera affiché par votre vue. Pour ce faire, il est nécessaire que la vue principale ait initialisé cet objet avec le contenu de la cellule sélectionnée au moment du clic par l’utilisateur. Ainsi dans la fonction prepare(for segue…) de la vue principale : • Créez une variable référençant le contrôleur TaskViewController en utilisant segue.destination. Attention à bien « caster » le résultat obtenu. • R é c u p é r e z l’indexPath d e l a c e l l u l e s é l e c t i o n n é e e n u t i l i s a n t indexPathForSelectedRow • Récupérez dans le modèle (le tableau de ToDo) la tâche ToDo correspondante • Affectez cet objet ToDo à l’objet ToDo du contrôleur TaskViewController Maintenant votre contrôleur TaskViewController est capable d’afficher la tâche sélectionnée. Dans sa fonction ViewDidLoad, mettez à jour les éléments graphique en fonction de l’objet ToDo. Le bouton Cancel et le bouton Save Le bouton Save devra être grisé si le InputText est vide. Il faut donc faire cette vérification chaque fois que textEditingChanged(..) Pour le bouton Cancel : associez-lui une fonction qui appellera uniquement la fonction dismiss(animated: true, completion: nil) La prise en compte des modifications La prise en compte des éléments modifiés (pour l’instant, le titre et la date) suit le chemin inverse. Elle sera déclenchée lorsque l’utilisateur clique sur Save. Dans votre contrôleur principal créez une fonction @IBAction func unwindToToDoList(segue: UIStoryboardSegue). Celle-ci va : • Récupérer une référence sur TaskViewController. Vous utilisez ici segue.source • Récupérer l’objet ToDo de TaskViewController • Récupérer l’indexPath de la cellule sélectionnée (selectedIndexpath) • Mettre à jour le modèle • Mettre à jour la vue : votreTableView.reloadRows(at: [selectedIndexPath], with: .none) Dans TaskViewController, créez une fonction override func prepare(for segue: UIStoryboardSegue, sender: Any?) (si elle n’existe pas). Cette fonction crée un objet ToDo avec les données de la vue et l’affecte à sa variable d’instance correspondante. Pour finir dans le StoryBoard faire un Control+Click entre le bouton Save et l’icône rouge le plus à droite (symbolisant une sortie) dans la barre surmontant votre vue. Choisissez ensuite la fonction que vous avez créée précédemment..

(3)

Références

Documents relatifs

» Et je vous répondrai qu'en effet la situation est telle que vous la décrivez, mais par contre il existe dans l’homme une dimension de lui-même, une dimension intelligente,

Les notices MARC des ressources de votre bibliothèque numérique sont accessibles par l'entremise d'un flux OAI-PMH au format MARCXML.. Pour plus d'informations concernant le

Dans ces trois métropoles, les récupérateurs ont toujours été repoussés aux marges et dans les « trous » de la ville : les zabbâlîn cairotes furent souvent expulsés de

Nous allons utiliser le même logiciel pour effacer complètement tous les fichiers qui ont été "supprimés" de votre disque, tout en y étant encore, comme vous le

Puis sur chaque mail de parent reçu, cliquer sur l’étoile à côté de l’adresse de l’expéditeur, on vous propose de l’ajouter au carnet d’adresse. Cliquer sur l’étoile

Ce dispositif se compose essentiellement (voir fig. 3) d'une goulotte G dont les parois très lisses sont inclinées à 45° au moins sur l'horizontale et dont le fond comporte sur

On réalisera la même séance 2 à 3 fois dans la semaine, en prenant un jour de de repos minimum entre deux séances : par exemple, on pourra s’entraîner le lundi, le mercredi et

▪ Via la récupération active, qui permettrait d’éliminer plus rapidement les déchets métaboliques. nb : la récupération active correspond généralement à un entraînement