Отображение текста по одному символу за раз в Swift 2.0
Новое в Swift 2.0; пытался научиться этому, интересовался анимацией и пытался написать какой-то код для отображения сообщения на экране по одному символу за раз.
Я написал это, это работает, но я ничего не могу поделать, но разве я не могу что-то сделать с CALayers и / или альфа-значениями? Или какая-то живая штуковина, что-то более достойное; это выглядит и выглядит неуклюже, вроде 1977 года.
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let supertext = "A long time ago, in a galaxy far, far away ..."
let round = supertext.characters.count
for i in 0...round {
let delay = Double(i)/10
let subtext = supertext[supertext.startIndex..<supertext.startIndex.advancedBy(i)]
NSTimer.scheduledTimerWithTimeInterval(delay, target: self, selector: "ghostText:", userInfo: ["theText" :subtext], repeats: false)
}
}
var view3:UITextView = UITextView()
func ghostText(timer:NSTimer) {
view3.removeFromSuperview()
let userInfo = timer.userInfo as! Dictionary<String, AnyObject>
let tempText:NSString = (userInfo["theText"] as! NSString)
print(tempText)
let font = UIFont(name: "Georgia", size: 18.0) ?? UIFont.systemFontOfSize(18.0)
let textFont = [NSFontAttributeName:font]
let subChararacter = NSAttributedString(string: String(tempText), attributes: textFont)
view3.frame = CGRect(x: 100, y: 120, width: CGRectGetWidth(self.view.frame), height: CGRectGetWidth(self.view.frame)-20)
view3.attributedText = subChararacter
self.view.addSubview(view3)
}