Можно ли изменить цвет выделения в iOS UITextView? - PullRequest
0 голосов
/ 21 февраля 2019

По умолчанию

enter image description here

Желаемый

enter image description here

Изменение tintColor на UITextField изменяет цвет выделения, но я не могу найти документацию по его изменению в UITextView.

Ответы [ 2 ]

0 голосов
/ 21 февраля 2019

https://stackoverflow.com/a/26456563/8272698'

Я нашел этот ответ выше, к сожалению, он в цели c

Но вы все еще можете увидеть, как им удалось это сделать.

- (void)highlight {

    NSRange selectedTextRange = self.textView.selectedRange;

    [attributedString addAttribute:NSBackgroundColorAttributeName
                             value:[UIColor redColor]
                             range:selectedTextRange];

    float sysVer = [[[UIDevice currentDevice] systemVersion] floatValue];
    if (sysVer < 8.0) {
        // iOS 7 fix
        self.textView.scrollEnabled = NO;
        self.textView.attributedText = attributedString;
        self.textView.scrollEnabled = YES;
    } else {
        self.textView.attributedText = attributedString;
    }
}

В основном они создали функцию, называемую подсветкой.В функции, которую они ищут, когда пользователь фактически выделяет выделенную часть.self.textView.selectedRange Когда они получают текстовый диапазон, выбранный пользователем.Они придают ему атрибут и цвет.

Swift

let selectedText = textView.selectedRange

Создайте атрибут:

let myAttribute = [ NSForegroundColorAttributeName: selectedUIColor]

Укажите свой атрибут,

textView.textStorage.addAttributes(myAttribute, range: selectedText)

Используйте это в действии, вызываемомотправитель.

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

0 голосов
/ 21 февраля 2019

Да, вы можете изменить цвет выделения текста, используя tintColor свойство UITextView.Используйте этот код для получения ожидаемого результата.

self.textView.tintColor = .red

Кроме того, вы можете сделать это из раскадровки, см. Следующее изображение.

enter image description here enter image description here

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