今回はラベルの文字をおしゃれに表示させることが出来るLTMorphingLabelというライブラリを紹介します。
必要な準備
Storyboard
ライブラリのインストール
Terminal
pod 'LTMorphingLabel'
コードの記述
import UIKit
import LTMorphingLabel
class ViewController: UIViewController {
@IBOutlet private weak var label: LTMorphingLabel!
//表示制御用タイマー
private var timer: Timer?
//String配列のindex用
private var index: Int = 0
//表示するString配列
private let textList = ["Let's", "Make", "History", "Today"]
override func viewDidLoad() {
super.viewDidLoad()
setupAnimationStyle()
}
//アニメーションのタイプを指定
private func setupAnimationStyle() {
label.morphingEffect = .scale
// label.morphingEffect = .scale
// label.morphingEffect = .evaporate
// label.morphingEffect = .fall
// label.morphingEffect = .pixelate
// label.morphingEffect = .sparkle
// label.morphingEffect = .burn
// label.morphingEffect = .anvil
}
@objc func update(timer: Timer) {
//Text表示の更新を行う
label.text = textList[index]
index += 1
if index >= textList.count {
index = 0
}
}
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
//タイマーの追加 (1.5秒ごとに表示テキストを変更する)
timer = Timer.scheduledTimer(timeInterval: 1.5,
target: self,
selector: #selector(update(timer:)), userInfo: nil,
repeats: true)
timer?.fire()
}
override func viewDidDisappear(_ animated: Bool) {
super.viewDidDisappear(animated)
timer?.invalidate()
}
}
ビルドをして確認
アニメーションのスタイルについては、個人的にscaleかevaporateがいい感じかなと思いました。
まとめ
今回は以上です、色んなライブラリを触ってみると面白い発見が出来ますね!
◎今日の格言
ー John F. Kennedy
Life is never easy. There is work to be done and obligations to be met – obligations to truth, to justice, and to liberty.
(人生とは決して簡単なものではない、為すべき仕事と果たすべき責務がある。それは【真実】、【正義】、そして【自由】への責務だ。