2016-12-16 39 views
0

我有以下代碼來爲UITextView中的打字機文本設置動畫。 問題在於動畫從開頭逐個字符開始,我希望它能夠在按下按鈕後顯示全文。停止打字機動畫並在swift中顯示全文

什麼是動畫開始後顯示全文的最佳方式?

var myText = Array("".characters) 
var myCounter = 0 
var timer:Timer? 
var TextNumber = 0 


func fireTimer(){ 


    timer = Timer.scheduledTimer(timeInterval: 0.01, target: self, selector: #selector(Main1.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))/190 
     timer?.invalidate() 
     timer = Timer.scheduledTimer(timeInterval: randomInterval, target: self, selector: #selector(Main1.typeLetter), userInfo: nil, repeats: false) 
    } else { 
     timer?.invalidate() 

    } 
    myCounter += 1 


} 

@IBAction func showFullText(){ 
//What should i put here? 
} 
+0

你試圖無效計時器,只是把完整的文本在文本視圖? – JPetric

回答

1

你可以做這樣的事情,也就是無效的時間和轉換數組轉換爲字符串,並將該文本

@IBAction func showFullText(){ 

     timer?.invalidate() 

     let strFromArray = myText.joinWithSeparator(" ") 
     //In Swift 3, joinWithSeparator becomes joined(separator:) 

     myTypeWriter.text = strFromArray 

     }