2016-12-16 6 views
0

UITextViewでタイプライターのテキストをアニメーション化するには、次のコードがあります。 問題はアニメーションが最初の文字から開始された後で、ボタンを押した後でフルテキストを表示できるようにしたいのです。タイプライターのアニメーションを停止し、全文を素早く表示する

アニメーションの開始後にフルテキストを表示する最も良い方法は何ですか?

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 

     } 
関連する問題