Как ввести многоцветный текст в UiTextView? - PullRequest
0 голосов
/ 19 марта 2012

Мне нужен UITextView, где пользователь может вводить текст в несколько цветов во время вставки.Например, если он введет XYZ, то цвет будет красным, если он введет ABC, тогда он должен быть синим.

Ответы [ 3 ]

2 голосов
/ 14 февраля 2014

Не уверен, поможет ли это, начиная с IOS 6, теперь вы можете изменять атрибуты, которые технически включают в себя шрифты и цвета.Я успешно справился с изменением шрифтов для части текста, но, как бы то ни было, ниже приведена проблема с изменением цвета, если Apple применяет изменение к этому когда-нибудь, так как AttributedText является свойством UITextView и должен позволятьте же стандарты.

Вы можете использовать (NSMutableAttributedString) вместо (NSString) в связи с .attributedText (в отличие от .text), см. пример ниже, это очень выполнимо, просто создайте новый UITextView, а затемзаставьте делегата и т.д. назовите его txtLog, как показано ниже:

NSMutableAttributedString *Temp = [[NSMutableAttributedString alloc] initWithString:@"Heider Sati... Hello World"];

[Temp addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Helvetica-Bold" size:30.0f] range:NSMakeRange(0, 11)]; /* This will change the first 11 characters into the font above... */

[Temp addAttribute:NSStrokeColorAttributeName value:[UIColor redColor] range:NSMakeRange(12, 15)]; /* This will change the color on the other characters starting from 12 to 15... */


txtLog.attributedText = Temp;

Вы также можете использовать NSAttributedString вместо NSMutableAttributedString, если хотите, но я использую Mutable для добавления строки, если это необходимо, так как это в основном имеет местокогда вы читаете и пишете в поле UITextView.

Надеюсь, это поможет,

С уважением, Хайдер Сати

1 голос
/ 19 марта 2012

Этот ответ был дан перед выпуском iOS 6 и поддержкой NSAttributedString в UITextViews.

Извините, это невозможно, UITextView представляет собой только простой текст.Вы можете установить только атрибуты текста и шрифта, применяемые глобально ко всему тексту.

Посмотрите на UITextView с подсветкой синтаксиса , это связано с вашей ситуацией.Первый ответ дает вам хороший обзор и некоторые предложения, как решить вашу проблему.

0 голосов
/ 19 марта 2012

Обычный UITextView не позволяет иметь многоцветный текст.Вы должны реализовать свой собственный UITextView

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