Подчеркните текст в UITextView

Как я могу подчеркнуть текст вUITextView, Я понимаю, что мне нужно создать подклассUITextView, но что будет идти под?drawRect:

Благодарю.

 Durul Dalkanat22 июн. 2015 г., 08:49
пожалуйста, проверьте этот ответstackoverflow.com/questions/21927810/uitextview-underlined-text/...

Ответы на вопрос(11)

Решение Вопроса

Попробуй использоватьNSAttributedString следующим образом и установить вUITextView, Это работает для iOS6.

NSMutableAttributedString *attString = [[NSMutableAttributedString alloc] initWithString:@"Some String"];
[attString addAttribute:(NSString*)kCTUnderlineStyleAttributeName 
                   value:[NSNumber numberWithInt:kCTUnderlineStyleSingle] 
                   range:(NSRange){0,[attString length]}];

Для получения дополнительной информации оNSAttributedString Проверь этоКак вы используете NSAttributedString?

Например:

textView.attributedText = attString;

Отяблочная документация по UITextView,

В iOS 6 и более поздних версиях этот класс поддерживает несколько стилей текста с помощью свойства attribute.Text. (Стилизованный текст не поддерживается в более ранних версиях iOS.) Установка значения для этого свойства заставляет текстовое представление использовать информацию о стиле, предоставленную в указанной строке. Вы все еще можете использовать свойства font, textColor и textAlignment для установки атрибутов стиля, но эти свойства применяются ко всему тексту в текстовом представлении.

attributedText:

Стилизованный текст, отображаемый в текстовом представлении.

@property(nonatomic,copy) NSAttributedString *attributedText

Обсуждение: Это свойство по умолчанию равно nil. Присвоение нового значения этому свойству также заменяет значение текстового свойства теми же строковыми данными, хотя и без какой-либо информации о форматировании. Кроме того, присвоение нового значения обновляет значения в свойствах font, textColor и textAlignment, чтобы они отражали информацию о стиле, начиная с местоположения 0 в присвоенной строке.

 James Anderson29 окт. 2012 г., 10:23
Я нашел проблему - это должен был быть NSMutableAttributedString
 James Anderson29 окт. 2012 г., 10:58
Еще один последний вопрос - есть ли способ отменить это подчеркивание в UITextView? Как textView.attributedText = nil? Кроме того, что также удаляет весь текст ...
 iDev29 окт. 2012 г., 09:42
@ d3v3l0p3r101, обновил мой ответ. Проверь это.
 Tim Camber18 мар. 2014 г., 15:25
Это может быть написано более кратко:self.textView.attributedText = [[NSAttributedString alloc] initWithString:@"Hello World" attributes:@{ NSUnderlineStyleAttributeName: @(NSUnderlineStyleSingle) }];
 James Anderson29 окт. 2012 г., 09:46
Спасибо - очень понравилось! Я'получаю эту ошибку с помощью кода NSAttributedString, хотя:pixelbit.in/KV2u.
 iDev29 окт. 2012 г., 19:10
Вы можете использовать - (void) removeAttribute: (NSString *) диапазон имен: (NSRange) aRange, аналогичный описанному выше методу addAttribute, и установить его в textView.attributedText = attString; снова. Остальная часть кода останется такой же, за исключением изменения addAttribute на removeAttribute. Если этот ответ полезен, пожалуйста, примите его. :)
 James Anderson29 окт. 2012 г., 09:35
Привет, когда ты говоришь:установить в UITextView ', что ты имеешь в виду? Не могли бы вы опубликовать пример, как это сделать?
 James Anderson29 окт. 2012 г., 10:09
Я добавил базовый текстовый фреймворк, такая же проблема все еще происходит :(
 Solid Soft12 апр. 2013 г., 09:15
Любой альтернативный вариант для iOS 5.0?
 iDev29 окт. 2012 г., 10:27
К сожалению! Я пропустил это. Даже я думал, почему эта ошибка пришла для вас, где, как я вижу, она доступна в классе. Я обновлю свой ответ. Спасибо!

ссылками, цветными словами ...), я предлагаю вам использоватьFTCoreText

attributedText атрибутUITextView, Применить подчеркивание форматирования к тексту. Вы также можете установитьtypingAttributes свойство, чтобы гарантировать, что текст, который вводит пользователь, имеет определенный набор форматирования, если хотите.

вам нужно перейти туда, где вы можете выбрать параметры копирования, вырезания, удаления, теперь есть больше параметров, таких как B / I / U (жирный, курсив, подчеркивание). Выберите этот вариант, и это все. И чтобы это сделать, выберите вариант подчеркивания снова.

т использовать "kCTUnderlineStyleAttributeName» или же "kCTUnderlineStyleSingle» Теперь вы должны сделать это так:

    NSMutableAttributedString *attString = [[NSMutableAttributedString alloc] initWithString:@"Text"];
[attString addAttribute:NSUnderlineStyleAttributeName
                  value:@(NSUnderlineStyleSingle)
                  range:(NSRange){0,[attString length]}];
-(IBAction)underline:(id)sender
{
    NSDictionary *underlineAttribute = @{NSUnderlineStyleAttributeName: @(NSUnderlineStyleSingle)};
    texts.attributedText = [[NSAttributedString alloc] initWithString:texts.text
                                                           attributes:underlineAttribute];
}
textViewMessage.linkTextAttributes = @{NSForegroundColorAttributeName: [UIColor blueColor], NSUnderlineStyleAttributeName: [NSNumber numberWithInt:NSUnderlineStyleSingle]};

вы можете подчеркнуть его в Интерфейсном Разработчике. Обязательно сделайте текстПриписываемые» сначала выбравПриписываемые» в выпадающем меню:

MFUnderlinedTextViewбудет полезно.

вы можете использовать приписанную строку с этим атрибутом:

@{NSUnderlineStyleAttributeName: @(NSUnderlineStyleSingle)}

CoreText, Основное руководствоздесь на raywenderlich.

Ваш ответ на вопрос