Я разрабатываю приложение xmpp-client. Одной из особенностей является отправка улыбок, и пользователь должен иметь возможность редактировать его, как обычный текст. Редактирование смайликов в Viber App - лучший пример того, что я хочу реализовать.UITextView с редактированием смайликов
Я уже пробовал три пути решения проблемы:
- я создаю смайлик как обычный UIImageView и поместить его как подвид на UITextView, используя текущую каретку прямоугольник. Я использую 5 пробелов в качестве текстового заполнителя в текстовом представлении. Есть две проблемы: размещение смайликов на новой строке при вставке текста в середине (пробел печати не приведет к перемещению каретки в новую строку); когда пользователь помещает каретку с помощью увеличительного стекла, он может перемещать карет через смайлик (через 5 пробелов), поскольку метод делегата не вызывается во время этого процесса.
- Я пробовал EGOTextView. Существуют проблемы с позицией каретки и изменением размера при добавлении новой строки. И есть некоторые артефакты рендеринга при использовании одного размера строки.
- Я также попытался использовать UIWebView. Но были большие проблемы с изменением размера на основе размера текста и других артефактов со скоростью ответа, когда вы стали первым ответчиком.
Может быть, кто-нибудь может дать мне совет действительно работающего решения?
Благодарим за внимание. Я также начинаю думать о настройке шрифтов, но на самом деле я не знаю, как сделать полноцветные растровые глифы в шрифте, такие как apple emoji. – yariksmirnov
Есть ли способ включить красочные изображения в шрифт на iOS? – Stavash
Мне удалось создать пользовательский шрифт с помощью таблицы sbix, используя пользовательские изображения png. Он отлично работает на OS X, но iOS отказался отображать глифы, которые имеют только сопоставление с таблицей sbix от шрифта, кроме системной версии Apple Emoji. Иными словами, если вы настроили свой пользовательский шрифт в UITextView на UILabel программно и задали текстовое значение как некоторый символический код emoji UTF, глиф из стандартного шрифта emoji будет отображаться, даже если в вашем пользовательском символе шрифта представлен этот код UTF. – yariksmirnov