Miam des pommes...
05-12
2018

TP n°3 ter - Programmation iPhone/iOS

But : Un diaporama iOS vachement plus mieux que tout ce qui a été fait jusqu’à présent puisqu’il va faire apparaître des composants chouettes…

Technologies : quelques objets particuliers de l’UIKit, (Woody Wood) PickerView,

Des données de Diaporama organisées autrement.

  1. Modifier le code de sorte que des diaporamas puissent être affichés. Pour cela, Utiliser une structure à trois dimensions (type, sous-type, image) via des NSArrays, et dans laquelle :
    1. le type est le type générique d’un ensemble de Diaporamas : Montagne, Mer, …
    2. le sous-type raffine le type en proposant diverses déclinaisons, exemple pour Montagne : Alpes, Rocheuses, etc
    3. image est une image appartenant au diaporama de type et sous-type correspondant.
  2. Idem pour la musique mais avec une simple liste de musiques/sons… La liste devra être une liste de couples (nom,fichier), le nom servira à l’affichage, et le fichier désignera le nom du fichier contenant la musique.
  3. Si l’interface est trop chargée : réfléchir à son allègement (écran secondaire, un seul PickerView additionné de Labels, autres composants, etc.).
  4. Les structures de données peuvent éventuellement être reconstruites par analyse de la structure de répertoires contenus dans l’application (attention à la distinction entre répertoires et groupes…)

Une configuration plus complexe

  1. Modifier la partie configuration de l’application de sorte que deux UIPickerView soient utilisés afin de présenter : pour l’un les choix de type/sous-type des diaporamas, pour l’autre les musiques/sons possibles. Consulter la documentation de UIPIckerView et observer que deux délégués sont utilisés :
    1. le dataSource de type UIPickerViewDataSource et dont le rôle est de fournir des informations sur la composition structurelle du composant (nombre de colonnes, nombre d’éléments par colonne)
    2. le delegate de type UIPickerViewDelegate chargé de fournir les données à afficher dans la PickerView (pickerView:titleForRow:forComponent:) et de répondre à la sélection par l’utilisateur (pickerView:didSelectRow:inComponent:)