Editions d'un UITableView

hickscorphickscorp Membre
10:49 modifié dans API UIKit #1
Tout d'abord, je me présente, car je suis nouveau ici :)
Je m'appelle Pierre, je développe principalement en C++ et beaucoup autours du framework Qt 4.
Je me suis mis à  ObjC il y a quelques jours, et plus particulièrement à  Cocoa (UIKit) pour coder de petits trucs pour mon iPhone...

Mon problème peut être décrit comme suit:
- ViewHome : UIView <UITableViewDelegate, UITableViewDataSource>: Une UIView contient un UITableView.
- Un UITableView (Contenu dans mon UIView), qui dialogue avec le UIView puisqu'elle implémente UITableViewDelegate et UITableViewDataSource.

J'aimerais placer en haut de ma UIView un petit bouton "Edit" ainsi qu'un petit bouton "+" (Add) comme dans l'application "Mail", et que lorsque l'on appuie dessus dans le premier cas le UITableView offre un bouton de suppression des lignes, dans le 2e cas qu'une nouvelle UIView vienne "glisser" au dessus du tableau pour ajouter une entrée.

Quel schéma dois-je adopter pour cela? J'ai vu des objets permettant la navigation dans l'appli, est ce de cela dont je dois me servir? Et comment fait-on ces jolies transitions de view à  view (Glissement vertical, flip, etc)?

Je ne sais pas si je suis très clair, j'ai appris tout ça tout seul donc je ne dispose pas du vocabulaire technique pour décrire les choses... Désolé.

Merci de votre temps,
Pierre.

Réponses

  • yodarkyodark Membre
    10:49 modifié #2
    Salut Pierre je suis aussi assez nouveau !
    Et comme toi j'apprends le cocoa sur le tas. Je connait surtout le JAVA donc pas facile de se mettre à  l'objective-C

    J'ai pas totalement compris ton problème mais dans tout les cas si tu comprends l'anglais j'ai un site avec des tutoriaux qui pourrait t'intéresser et particulièrement celui ci :

    http://www.iphonesdkarticles.com/2008/07/drill-down-iphone-application-tutorial.html

  • laurrislaurris Membre
    10:49 modifié #3
    dans 1219408464:

    Tout d'abord, je me présente, car je suis nouveau ici :)
    Je m'appelle Pierre, je développe principalement en C++ et beaucoup autours du framework Qt 4.
    Je me suis mis à  ObjC il y a quelques jours, et plus particulièrement à  Cocoa (UIKit) pour coder de petits trucs pour mon iPhone...

    Mon problème peut être décrit comme suit:
    - ViewHome : UIView <UITableViewDelegate, UITableViewDataSource>: Une UIView contient un UITableView.
    - Un UITableView (Contenu dans mon UIView), qui dialogue avec le UIView puisqu'elle implémente UITableViewDelegate et UITableViewDataSource.

    J'aimerais placer en haut de ma UIView un petit bouton "Edit" ainsi qu'un petit bouton "+" (Add) comme dans l'application "Mail", et que lorsque l'on appuie dessus dans le premier cas le UITableView offre un bouton de suppression des lignes, dans le 2e cas qu'une nouvelle UIView vienne "glisser" au dessus du tableau pour ajouter une entrée.

    Quel schéma dois-je adopter pour cela? J'ai vu des objets permettant la navigation dans l'appli, est ce de cela dont je dois me servir? Et comment fait-on ces jolies transitions de view à  view (Glissement vertical, flip, etc)?

    Je ne sais pas si je suis très clair, j'ai appris tout ça tout seul donc je ne dispose pas du vocabulaire technique pour décrire les choses... Désolé.

    Merci de votre temps,
    Pierre.


    Pour tout ce que tu veux faire, il faut utiliser le concept de UIViewController et de UIViewNavigationController. De nombreux examples dans le iPhone SDK montrent comment faire.
    Ca a l'air compliqué au départ mais quand on a compris, on voit que tout se passe au niveau du "model" (les controllers) et pas dans les vues (UIView). Par exemple, pour obtenir un bouton édit "prêt à  l'emploi", il suffit de faire dans le -loadView du controller:
    self.navigationItem.rightBarButtonItem = [self editButtonItem];
    

    Ensuite, il faut surcharger la méthode setEditing: du UIViewController pour répercuter le mode edit sur la vue (tableView.editing = YES).
    Les boutons rouges de suppression apparaissent automagiquement.

    Pour faire glisser des vues, là  aussi on passe par le UINavigationController avec -pushViewController:(UIViewController*)vc qui fait glisser de droite à  gauche ou alors en modal avec - (void)presentModalViewController:(UIViewController *)modalViewController animated:(BOOL)animated.
    Pour faire un flip (ou autre transition) d'une vue à  l'autre, là  on ne peut pas utiliser le navigationController. Le mieux est d'utiliser les methodes CA de UIView:
    + (void)setAnimationTransition:(UIViewAnimationTransition)transition forView:(UIView *)view cache:(BOOL)cache
    


    Bienvenue sur le forum  ;)
  • yodarkyodark Membre
    10:49 modifié #4
    Je pourrai abuser de ta bonne connaissance notamment dans l'utilisation des vues pour te demander de faire un petit tours sur mon topic, laurris ?
    http://www.objective-cocoa.org/forum/index.php?topic=2861.0

    Merci beaucoup  :)
Connectez-vous ou Inscrivez-vous pour répondre.