2010-11-19 8 views
3

Salutations!Meilleure façon de recréer l'interface utilisateur de l'application iPhone SMS?

en tant que débutant dans le développement d'applications iPhone en Objective-C, je me demandais ce qui était la meilleure façon de recréer l'interface utilisateur de l'iPhone SMS app (l'une avec des bulles de message et autres)

J'ai pensé à utiliser un UITableView avec un UITableViewCell personnalisé qui utilise des images pour recréer les bulles de message. Cela fonctionne correctement lorsque le fil de message contient seulement un petit nombre de messages, mais une fois qu'il dépasse un certain nombre, il y a un temps significatif à partir duquel la vue est transmise à un UINavigationController jusqu'à ce qu'il s'affiche réellement à l'écran. Je crois que cela est causé par le calcul de la hauteur de chaque cellule de table (ainsi que les bulles de message).

Je sais que beaucoup d'autres clients de chat ont implémenté des interfaces utilisateur comme celle-là, mais je n'arrive pas à trouver un tutoriel approprié sur la façon de le faire.

des liens vers des tutoriels ou des frameworks seront grandement appréciés. Je vous remercie.

Répondre

1

Vous êtes sur la bonne voie. Je pense que la meilleure option est un UITableView avec des instances personnalisées UITableViewCell en tant que cellules. Assurez-vous que vous utilisez une technique de mise en cache des cellules pour éviter de créer une cellule pour chaque message différent que vous essayez d'afficher. Cela pourrait vous ralentir.

Découvrez le tutoriel this (mort). C'est génial pour ce que vous voulez, et il vous expliquera comment réutiliser vos composants cellulaires.

+0

Aussi, atebits a une grande writeup sur la façon d'améliorer les performances de défilement sur l'iPhone. http://blog.atebits.com/2008/12/fast-scrolling-in-tweetie-with-uitableview/ – kubi

+0

merci les gars! Je suis loin de mon poste de travail et je devrai attendre le lundi avant de vérifier. Le lien de Pablo était sûrement utile puisque je me suis rendu compte que je n'utilisais pas réellement la mise en cache des cellules dans mes UITableViews. – maignacio

0

Un cadre utile pour la plupart des applications iOS est Three20. La documentation est un peu rare, mais il y a une tonne de choses là-dedans. J'ai pensé à ce cadre pour votre application spécifiquement en raison de la classe TTSpeechBubbleShape conçu pour imiter les bulles de discours SMS exactement.

Ce cadre est activement travaillé et est le cadre derrière l'application Facebook et littéralement des centaines d'autres. Il est conçu pour être puissant, performant et pour vous faciliter la vie.

Plus d'informations sur l'énorme quantité de classes qui sont à votre disposition peuvent être trouvés ici: http://api.three20.info/annotated.php

+0

n'est pas un peu exagéré de Three20 si je dis que je l'utiliserais simplement pour le TTSpeechBubble? J'ai déjà entendu parler de ce framework en cherchant un moyen de copier l'interface de composition de l'application SMS, mais en lisant comment utiliser Three20, il m'a semblé que ajouter trop de dépendances à mon projet juste pour utiliser un seul objet moi. Corrigez-moi si je me trompe si – maignacio

+0

Si c'est tout ce que vous utilisez pour vous avez probablement raison. Mais il y a beaucoup de choses vraiment bonnes et utiles et je finis par l'utiliser dans la plupart de mes applications. Il existe des remplacements pour les classes standard (telles que UITableView) qui facilitent les choses. Bottom line: si cela prend 3 heures pour faire une bulle de dialogue bien et performante vs 15 minutes pour brancher les dépendances, l'exagération peut devenir subjective. Tu es appelé. Je voulais juste que vous soyez au courant de cet outil. Bonne chance pour votre projet. :) – theChrisKent

Questions connexes