以前teratailに投稿されていた類似の質問を参考に以下のコードを書き、TextViewのクラスを紐付けしたのち、ビルド画面を起動すると、TextViewに記載してある文章が一文字ずつ流れる。
しかし、ビルド画面を起動した直後に文章をアニメーション表示するのではなく、Buttonで制御し、Buttonを押すことでTextViewの文章を流れるように加工したい。
この場合、どのようなコードを追加もしくは訂正すればよいでしょうか。
Swift
1import UIKit 2 3class Timertext: UITextView { 4 5 @IBAction func alpha(_ sender: Any) { 6 print(Timertext()) 7 } 8 9 var titlestr :String! 10 11 var idx = 0 12 var flgRun = false 13 14 override func draw(_ rect:CGRect) { 15 let timer = Timer.scheduledTimer(timeInterval: 0.05, target: self, selector: #selector(tickTimer(_:)), userInfo: nil, repeats: true) 16 17 titlestr = self.text 18 self.text = "" 19 20 timer.fire() 21 } 22 23 func tickTimer(_ timer: Timer) { 24 if idx < titlestr.characters.count { 25 self.text = titlestr.substring(to: titlestr.index(titlestr.startIndex, offsetBy: idx)) 26 27 idx += 1 28 29 } else { 30 self.text = titlestr 31 timer.invalidate() 32 flgRun = false 33 } 34 } 35}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。