2016-11-04 2 views
0

noch lernen iOS-Entwicklung, möchte etwas wie Erwähnung Freund mag in Facebook/Instagram erstellen.Erstellen Sie eine Erwähnung Freund in iOS mit Objective-C

Mention People UI in Instagram

Ist es neue Tableviewcontroller und füge subview auf den gleichen View-Controller verwenden? (in diesem Fall, CommentViewController), aber, wenn ich bereits UITABleViewController in meinem CommentViewController habe, wie kann ich mit dem zweiten Tableviewcontroller umgehen?

+0

Wenn Sie UITableViewController verwenden, als ich denke, dass es nicht möglich ist, aber wenn Sie UITableView in UIViewController verwenden, als Sie es mit Tag verwenden können –

+0

"Wie kann ich damit umgehen?" ist nicht sehr spezifisch, versuche klarer zu sein, was du bereits getan hast und was dein Ziel ist. – phi

Antwort

0

Wenn Sie das von Ihnen bereitgestellte Bild betrachten, sieht es so aus, als wäre der beste Weg, dies zu implementieren, ein UIViewController, dem ein UITableView hinzugefügt wurde. Für jede Tabellenansicht, die erstellt wird, können ein Delegat und eine Datenquelle festgelegt werden. Wenn die Textansicht erkennt, dass eine Erwähnung eingegeben wurde (mehr über das spätere Erkennen), würden Sie eine zweite Tabellenansicht als zusätzliche Ansicht (Unteransicht) auslösen, die Ihre aktuelle Tabellenansicht überlagert (oder als Zubehöransicht der Tastatur, wie Apple) und andere präsentieren eine Textansicht über die Tastatur für Texteingabe ex: Nachrichten App).

Um die beiden Tabellenansichten zu verwalten, würde ich vorschlagen, zwei zusätzliche Klassen zu erstellen, von denen jede der Quelle UITableViewDelegate und UITableViewData entspricht. Der erste wäre der CommentsTableViewManager und der zweite wäre der MentionsTableViewManager. Die erste Tabellenansicht würde den CommentsTableViewManager als seinen Delegaten und seine Datenquelle festlegen, während der zweite den MentionsTableViewManager verwenden würde.

Das andere Problem, auf das Sie später noch eingehen werden, ist das Bestimmen, wie in der Textansicht eingegebene Erwähnungen richtig erkannt werden. Ich habe tatsächlich eine Open-Source-Bibliothek erstellt, die Ihnen bei diesem Problem helfen wird. Es befindet sich hier: https://github.com/szweier/SZMentionsSwift die README sollte genug Informationen für Sie bereitstellen, um zu beginnen, wenn Sie es verwenden möchten.

Ich hoffe, die Informationen über hilft Ihnen mit Ihrer App zu beginnen.

0

Aus Architektur-Perspektive ist es besser, eine einzelne Tabellenansicht mit geändertem Datenquellencontainer zu haben, abhängig vom aktuellen Modus.

Spricht eine Instagram-Art - entweder Sie zeigen Kommentare, oder, wenn @ Symbol erkannt wurde, Anzeigen einer Liste von Benutzern. Also fast alle Ihre UITableView-Delegate und Datenquelle Methoden beginnen mit etwas wie if (isMentionMode) und Sie werden bestimmte Zelle Klasse/Zelle Höhe/Menge der Zeilen pro Abschnitt/etc hängt von isMentionMode Staat.

Verwandte Themen