Как преобразовать любой текст строки в простой текстовый формат в target-c - PullRequest
0 голосов
/ 04 апреля 2019

Я работаю над приложением чата.Когда я копирую текст из любого места и вставляю его в свое текстовое поле, я хочу, чтобы текст был вырезан из любого шрифта, размера, цвета и т. Д. Поэтому он имеет формат по умолчанию / обычный текст.Затем я хочу установить свой собственный стиль текста перед отправкой текста.

Пробовал с использованием NSPlainTextDocumentType, но это не сработало.

UIFont *font = [UIFont fontWithName:@"GothamRounded-Bold" size:14];
text = [self.messagesTextView.text setFont:font];
text = NSPlainTextDocumentType;

Ожидается, что текст будет преобразован в обычный-текстовый формат, а затем к нему добавляется стиль GothamRounded-Bold size:14.

1 Ответ

0 голосов
/ 04 апреля 2019

Интересно, сталкиваешься ли ты с этой проблемой ...

По умолчанию при вставке форматированного / расширенного текста в текстовое поле не сохраняет форматирование. Он будет вставлен в виде обычного текста и будет отображаться с шрифтом, установленным для вашего поля.

Попробуйте тест. Скопируйте и вставьте следующую строку в текстовое поле:

Это должно потерять форматирование.

Затем попробуйте скопировать / вставить эту строку:

???? следует ???? форматировать.

Первая тестовая строка использует HTML-теги. Если вы проверяете источник, он должен выглядеть следующим образом:

<strong>This</strong> should <strong><em>lose</em></strong> formatting.

Однако во второй тестовой строке используются символы Юникода, и если вы проверите источник, он будет выглядеть так же, как здесь, в этом ответе.

Если это то, что вы видите, не существует (простого) способа «удалить» форматирование, потому что не имеет форматирования.

Это почти так же, как если бы пользователь вставил эмодзи, например - ? - в ваше текстовое поле.

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