Как прокрутить текст в UITextView, как телесуфлер в Swift? - PullRequest
0 голосов
/ 17 ноября 2018

Я хочу прокрутить свой текст, как прокрутка телесуфлера.Я прочитал о UIDynamicAnimation, но не ясно с UITextView для нескольких строк.

Оцените ваши предложения или фрагменты кода для достижения этой цели.

1 Ответ

0 голосов
/ 19 ноября 2018

Используя рекурсивный метод, мы можем анимировать каждую прокрутку строки, используя UIView.animate(withDuration:animations:completed), пока не достигнем конца textView.

func animateRowWith(duration: TimeInterval, rowHeight: CGFloat) {
    if self.textView.contentOffset.y < self.textView.contentSize.height - self.textView.frame.size.height {
        UIView.animate(withDuration: duration, animations: {
            self.textView.contentOffset = CGPoint(x: self.textView.contentOffset.x, y: self.textView.contentOffset.y + rowHeight)
        }) { (_) in
            self.animateRowWith(duration: duration, rowHeight: rowHeight)
        }
    }
}

, вызвав его:

animateRowWith(duration: 1.0, rowHeight: self.textView.font?.lineHeight ?? 0).

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

...