Кнопка Subview в текстовом представлении исчезает при изменении NSMutableAttributedString до прокрутки вверх

Я создавал систему выделения для своего текстового представления, которая достаточно велика, чтобы включить прокрутку, внизу я добавил кнопку с использованием подпредставления, которая действует как переход к следующему представлению.

Когда я изменяю текст с помощью функции, расположенной ниже, кнопка исчезает (не отображается и не отображается). Когда я прокручиваю текст до верха, а затем снова прокручиваю его вниз, кнопка появляется снова. Кто-нибудь знает почему? Есть ли способ обновить отображение кнопки?

Изменить: количество подпросмотров не меняется до или после события.

func highlightText () {

    guard let text = self.textView.attributedText else {
        return
    }
    guard let range = self.textView.visibleBottomRange else {
        return
    }
    let attributedString = NSMutableAttributedString(attributedString:text)
    attributedString.addAttribute(NSBackgroundColorAttributeName, value: UIColor.yellow , range: range)

    self.textView.attributedText = attributedString
}

person Marcus Ahlström    schedule 10.10.2017    source источник


Ответы (1)


Нашел ответ здесь: вопрос о Stackoverflow

using: self.textView.layoutManager.allowsNonContiguousLayout = false; позволяет подпредставлению оставаться видимым при изменении атрибутивного текста текстового представления

person Marcus Ahlström    schedule 10.10.2017