2010-11-19 2 views
3

Grüße!Einfachste Möglichkeit, die Benutzeroberfläche der iPhone SMS-Anwendung neu zu erstellen?

als Anfänger in iPhone Anwendungsentwicklung Objective-C verwenden, ich frage mich, was der einfachste Weg war das iPhone SMS App UI (die mit Nachricht Blasen und so weiter)

ich die Verwendung gedacht habe neu zu erstellen eine UITableView mit einer benutzerdefinierten UITableViewCell, die Bilder verwendet, um die Nachrichtenblasen neu zu erstellen. Dies funktioniert gut, wenn der Nachrichten-Thread nur eine kleine Anzahl von Nachrichten enthält. Sobald dieser jedoch einen bestimmten Wert überschreitet, ist die Zeit von der Übertragung der Ansicht auf einen UINavigationController bis zur tatsächlichen Anzeige auf dem Bildschirm erheblich. Ich glaube, dass dies durch die Berechnung der Höhe jeder Tabellenzelle (sowie der Nachrichtenblasen) verursacht wird.

Ich weiß, dass viele andere Chat-Clients Benutzeroberflächen wie solche implementiert haben, aber ich kann nicht scheinen, ein richtiges Tutorial zu finden, wie man das macht.

Links zu Tutorials oder Frameworks werden sehr geschätzt. Danke.

Antwort

1

Sie sind auf dem richtigen Weg. Ich denke, die beste Option ist ein UITableView mit benutzerdefinierten UITableViewCell Instanzen als Zellen.

Stellen Sie sicher, dass Sie eine Zellen-Caching-Technik verwenden, um zu vermeiden, dass für jede Nachricht, die Sie anzeigen möchten, eine Zelle erstellt wird. Das könnte dich verlangsamen.

Schauen Sie sich this (tot) Tutorial. Es ist großartig für das, was Sie wollen, und es wird Ihnen erklären, wie Sie Ihre Zellkomponenten wiederverwenden.

+0

Auch hat Atebits eine große Zuschreibung auf, wie auf dem iPhone Scrollen Leistung zu verbessern. http://blog.atebits.com/2008/12/fast-scrolling-in-wewetie-with-uitableview/ – kubi

+0

danke Jungs! Ich bin weit weg von meinem Arbeitsplatz, also muss ich bis Montag warten, bevor ich diese überprüfe. Pablos Link war sicherlich hilfreich, da ich feststellte, dass ich Cell Caching in keinem meiner UITableViews wirklich verwendet habe – maignacio

0

Ein hilfreiches Framework für die meisten iOS-Apps ist Three20. Die Dokumentation ist ein wenig knapp, aber es gibt eine Menge Zeug drin. Ich dachte an dieses Framework für Ihre App speziell wegen der TTSpeechBubbleShape Klasse entwickelt, um die SMS-Sprechblasen genau nachzuahmen.

Dieses Framework wird aktiv bearbeitet und ist der Rahmen hinter der Facebook App und buchstäblich hunderte mehr. Es ist darauf ausgelegt, leistungsstark zu sein, gute Leistungen zu erbringen und Ihnen das Leben zu erleichtern.

Mehr Informationen über die riesige Menge von Klassen, die Ihnen zur Verfügung stehen, können Sie hier: http://api.three20.info/annotated.php

+0

ist Three20 nicht ein bisschen zu viel Overkill, wenn ich sage, dass ich es nur für den TTSpeechBubble verwenden würde? Ich habe bereits von diesem Framework gehört, während die Suche nach einem Kopieren der SMS-App die Nachrichtenoberfläche beschreibt, aber nachdem ich gelesen hatte, wie man Three20 verwendet, schien es, als würde ich zu viele Abhängigkeiten zu meinem Projekt hinzufügen, nur um ein einziges Objekt zu verwenden mich. Bitte korrigieren Sie mich, wenn ich falsch liege – maignacio

+0

Wenn das alles ist, verwenden Sie es für Sie haben wahrscheinlich recht. Aber es gibt eine Menge wirklich guter und nützlicher Dinge darin und ich verwende es am Ende in den meisten meiner Apps. Es gibt Ersatz für Standardklassen (wie UITableView), die die Dinge viel einfacher machen. Fazit: Wenn es 3 Stunden dauert, um eine gut aussehende und gut funktionierende Sprechblase im Vergleich zu 15 Minuten zu machen, um die Abhängigkeiten zu verbinden, kann Overkill subjektiv werden. Du bist Anrufer. Ich wollte nur, dass Sie dieses Tool kennen. Viel Glück mit Ihrem Projekt. :) – theChrisKent