Нарисуйте перекрытый фон для UITextView - PullRequest
0 голосов
/ 16 апреля 2020

Я переопределил draw (_ rect: CGRect) метод из UITextView

class MyUITextView: UITextView {
    override func draw(_ rect: CGRect) {
        drawBackgrounds(rect)
        super.draw(rect)
    }

    private func drawBackgrounds(_ rect: CGRect) {
        guard let attributed = self.attributedText,
              let context = UIGraphicsGetCurrentContext() else { return }

        // draw overlapped background on CGContext
    }
}

Выглядит нормально перед прокруткой. После прокрутки фоны не перемещаются. На скриншоте текст и фон не отображаются в одном слое.

Как получить правильный контекст для рисования?

enter image description here

Примечание:

  • Я также пробовал это на UILabel путем переопределения drawText (in:) . Текст и рисунок находятся в одном слое.
...