Пользовательская клавиатура iOS - Пользовательский вывод шрифта - PullRequest
1 голос
/ 16 мая 2019

Я пытаюсь создать пользовательскую клавиатуру, используя расширение клавиатуры приложения. Я доволен макетом, но вывод зависит от шрифта UITextField.

Есть ли способ заставить другой шрифт (использовать специальные символы?) При использовании клавиатуры?

Спасибо

1 Ответ

0 голосов
/ 16 мая 2019

Это зависит.

Текстовое поле (или любое другое представление, которое рисует текст) использует 2 информации о том, как показать некоторый текст.Одним из них является последовательность символов с именем String, а другим - как должна быть представлена ​​строка.Затем второй разделяется на такие вещи, как шрифты, цвета, высота строки, разрыв строки и перенос ...

Таким образом, одной клавиатуры недостаточно, например, для представления определенной части слова с использованием разных шрифтов.Вам нужно хотя бы немного доступа к элементу, который представляет текст.Так что, если у вас нет доступа к вашему текстовому полю, ответ таков:Нет, нельзя использовать другой шрифт при использовании другой клавиатуры.

Если у вас есть доступ, то ответ должен лежать в NSAttributedString.Это строка, которую вы можете назначить большинству пунктов в attributedText.Этот класс оборачивает вашу необработанную строку и может добавить много свойств к частям текста, которые вы хотите изменить.Это включает в себя использование другого шрифта.

Другой подход будет использовать теги HTML.Опять же, вам нужно будет обработать это, используя, например, NSAttributedString или отобразить его с другим элементом, таким как веб-представление.

Я бы попробовал это с использованием NSAttributedString.Подключите, чтобы делегировать и реализовать textField(: shouldChangeCharactersIn: replacementString:.Сама реализация все еще может быть нелегкой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...