Как сделать анимация набора текста в label на swift?

Пользователь

от hattie , в категории: Swift , год назад

Как сделать анимация набора текста в label на swift?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от landen.nienow , год назад

@hattie 

Существует несколько способов реализовать анимацию набора текста в Label на Swift. Один из них - использование расширения для UILabel:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
extension UILabel {
    
    func animate(newText: String, characterDelay: TimeInterval) {
        DispatchQueue.main.async {
            self.text = ""
            for (index, character) in newText.enumerated() {
                let delay = characterDelay * Double(index)
                DispatchQueue.main.asyncAfter(deadline: .now() + delay) {
                    self.text?.append(character)
                }
            }
        }
    }
    
}


Для использования этого расширения, нужно вызвать метод animate на экземпляре UILabel, передав новый текст и время задержки между символами. Например:

1
2
let label = UILabel()
label.animate(newText: "Animated text", characterDelay: 0.1)


Этот код запустит анимацию набора текста в Label, где каждый символ будет добавляться с задержкой в 0.1 секунды, создавая эффект печатного набора.