Animación de text de efectos de máquina de escribir

Estoy tratando de crear un efecto de animation de máquina de escribir con un UILabel, pero no puedo encontrar ninguna respuesta. ¿El UILabel es el object correcto para usar? Quiero que el text imprima en la pantalla un set de cadenas como "Iniciar session … Abrir carpeta … Reiniciar el sistema …" Debo mencionar que soy nuevo en la encoding y he intentado search en Documentación y reference API pero sin suerte. Actualmente estoy aprendiendo SWIFT si eso vale la pena mencionar

Actualización: Xcode 7.0 GM • Swift 2.0

import UIKit class ViewController: UIViewController { @IBOutlet weak var myTypeWriter: UITextField! let myText = Array("Hello World !!!".characters) var myCounter = 0 var timer:NSTimer? func fireTimer(){ timer = NSTimer.scheduledTimerWithTimeInterval(0.5, target: self, selector: "typeLetter", userInfo: nil, repeats: true) } func typeLetter(){ if myCounter < myText.count { myTypeWriter.text = myTypeWriter.text! + String(myText[myCounter]) let randomInterval = Double((arc4random_uniform(8)+1))/20 timer?.invalidate() timer = NSTimer.scheduledTimerWithTimeInterval(randomInterval, target: self, selector: "typeLetter", userInfo: nil, repeats: false) } else { timer?.invalidate() } myCounter++ } override func viewDidLoad() { super.viewDidLoad() fireTimer() // Do any additional setup after loading the view, typically from a nib. } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } } 

He escrito una subclass de UILabel llamada CLTypingLabel , disponible en GitHub. Esto debería hacer lo que quieras.

Después de instalar CocoaPods, agregue el siguiente similar a su Podfile para usarlo:

 pod 'CLTypingLabel' 

Código de muestra

Cambie la class de una label de UILabel a CLTypingLabel; introduzca la descripción de la imagen aquí

 @IBOutlet weak var myTypeWriterLabel: CLTypingLabel! 

En time de ejecución, establecer el text de la label activará la animation automáticamente:

 myTypeWriterLabel.text = "This is a demo of typing label animation..." 

Puede personalizar el intervalo de time entre cada carácter:

 myTypeWriterLabel.charInterval = 0.08 //optional, default is 0.1 

Puede pausar la animation de escritura en cualquier momento:

 myTypeWriterLabel.pauseTyping() //this will pause the typing animation myTypeWriterLabel.continueTyping() //this will continue paused typing animation 

También hay un proyecto de ejemplo que viene con cocoapods