ajout d'éléments interface utilisateur pour iphone 5

Le titre est un peu surprenant je l'avoue, mais j'ai pas trouvé mieux image/smile.png' class='bbc_emoticon' alt=':)' />



Je m'explique :





j'ai développé une appli avant l'apparition de l'iPhone 5,j'ai donc décidé de l'adapter pour ce nouveau model. J'ai joué avec "autoresizingMask", seulement j'ai pas mal d'espaces blancs sur l'iphone 5. Est-il possible de rajouter ou modifier des éléments d'interface utilisateur seulement pour l'iPhone 5 ?



Par exemple, j'ai un UITableView de 3 cell, et je voudrai en afficher 5 sur l'iPhone 5 ( en vérifiant que c'est un iPhone 5 par rapport à  la taille de l'écran). Bref, je voulais savoir si il y a un risque de rejet de l'application pour cause d'interface différente selon l'iPhone.



Ca me semblerai bizarre mais je préfère poser la question...

Réponses

  • CéroceCéroce Membre, Modérateur
    Non, ce n'est pas interdit (quoi que je n'ai pas relu la charte dernièrement; et vues mes dernières péripéties, je ne suis plus sûr de rien).



    Ceci dit, ton exemple, n'est pas très bon, une UITableView étant justement un élément qui s'étire tout seul en faisant apparaà®tre davantage de cellules si c'est possible.
  • [font=helvetica, arial, sans-serif]Ceci dit, ton exemple, n'est pas très bon, une UITableView étant justement un élément qui s'étire tout seul en faisant apparaà®tre davantage de cellules si c'est possible.[/font]




    Justement, ce n'est pas un UITableView qui prend toute la vue, je le limite moi-même à  3 cells (dans numberOfRowsInSection). Et si cela est permis je ferai en sorte d'en afficher 5 pour l'iPhone 5. En fait c'est un pré-tableView si je peux dire. Actuellement il affiche 2 cell avec un contenu et la dernière permet d'accéder à  un UITableViewController qui lui prendra tout l'espace et ajoutera autant de cells que demandé.
  • AliGatorAliGator Membre, Modérateur
    Bah calcule le nombre de cellules affichable en fonction de la hauteur de ta table.

    Le mieux est toujours de tester ce qui t'intéresse, à  savoir la place dispo dans ta tableView, plutôt que de tester des choses comme le modèle de l'iPhone ou quoi.



    Donc :
    • Rend ta UITableView étirable en hauteur avec les autoresizingMask, si c'est pas déjà  fait
    • Dans ton dataSource, retourne une valeur n dans numberOfRowsInSection qui va dépendre de la hauteur de la tableView divisée par la hauteur de chaque cellule par exemple.


    Comme ça ta valeur n de cellules visibles est vraiment dynamique (si un jour il y a un écran d'iPhone encore plus grand qui sort, ça marchera toujours, par exemple, ou si tu changes dans ton XIB la taille de ta TableView car finalement tu as besoin d'un peu de place pour mettre un nouveau bouton en dessous de ta TableView, bah ça ajustera le nombre d'éléments tout seul, etc)
  • Vu comme ça c'est logique image/smile.png' class='bbc_emoticon' alt=':)' />, et en plus c'est plus propre que de tester la taille de l'écran... merci !
Connectez-vous ou Inscrivez-vous pour répondre.