Ich entwickle xmpp-Client-App. Eine der Funktionen ist das Senden von Lächeln und der Benutzer sollte die Fähigkeit haben, wie gewöhnlicher Text zu bearbeiten. Emoticons Bearbeitung in Viber App ist das beste Beispiel für das, was ich implementieren möchte.UITextView mit Emoticons Bearbeitung
Ich habe bereits versucht, drei Möglichkeiten, Problem zu lösen:
- Ich erstelle Emoticon wie üblich UIImageView und legen Sie es als ein Subview auf UITextView mit aktuellen caret rect. Ich verwende 5 Leerzeichen als Textplatzhalter in der Textansicht. Es gibt zwei Probleme: Emoticons in eine neue Zeile einfügen, wenn Text in der Mitte eingefügt wird (Leerzeichen werden nicht in die neue Zeile verschoben); Wenn der Benutzer Caret mithilfe von Vergrößerungsglas platziert, kann er Caret durch Emoticon (durch 5 Leerzeichen) verschieben, als Delegate-Methode, die während dieses Prozesses nicht aufgerufen wird.
- Ich habe versucht EGOTextView. Es gibt Probleme mit der Caret-Position und der Größenänderung, wenn eine neue Zeile hinzugefügt werden soll. Und es gibt einige Renderartefakte, wenn Sie eine Zeilengröße verwenden.
- Ich habe auch versucht mit UIWebView. Aber es gab große Probleme mit der Größenanpassung basierend auf der Textgröße und anderen Artefakten mit der Geschwindigkeit der Antwort, wenn sie zum Ersthelfer wurden.
Kann mir jemand eine wirklich funktionierende Lösung geben?
Vielen Dank für den Rat. Ich denke auch über die Anpassung von Schriftarten nach, aber ich weiß eigentlich nicht, wie man vollfarbige Bitmap-Glyphen in der Schriftart wie Apple Emoji macht. – yariksmirnov
Gibt es eine Möglichkeit, bunte Bilder in eine Schriftart auf iOS zu integrieren? – Stavash
Ich habe es geschafft, benutzerdefinierte Schrift mit sbix-Tabelle mit benutzerdefinierten PNG-Bildern zu erstellen. Es funktioniert tadellos auf OS X, aber iOS lehnte ab, Glyphs zu rendern, die nur zur sbix Tabelle von der Schriftart anders als Systemversion von Apple Emoji hat. Mit anderen Worten, wenn Sie Sie benutzerdefinierte Schriftart in UITextView zu UILabel programmatisch einstellen und Textwert als einstellen Einige Emoji-UTF-Symbol-Code, Glyphe von Standard-Emoji-Schriftart wird gerendert, auch wenn in Ihrer benutzerdefinierten Schriftart Symbol für diesen UTF-Code darstellt. – yariksmirnov