##はじめに
10年以上メンテしてるアプリがあるので、いまだにObjective-Cも使っている今日この頃。
マルチプラットフォームの方がいいので、AppleのSwiftには手を出さずにきたんですが、Lottieを導入してみたら手を出さざるを得なかったので、出しちゃいました。
もう12周年だった。 「PRO.APP」12周年記念!
Lottieとはアプリ/webにアニメを追加できるありがたいモジュールです。After Effectsから変換できます。
WebアニメーションはLottieがオススメ!基本の使い方完全ガイド【2020年版】
##なぜに?
Swift、今まで深く調べたこともなかったんですが、iOSのLottie、Swiftで書かれてて、あ、じゃあ確かObjective-CからSwiftは簡単に呼べるはずなので、呼んでみよー・・・
呼べねー
・・・
なんでもSwiftのライブラリを出すときに、Objective-Cに対応するか選べるんだそうだ。
・・・・対応してよAirbnbさん
こんな感じですね。
時代かなー。しょうがないのでSwiftでLottie呼ぶコードを作ったよ。まあすぐできたけど。
import Foundation
import UIKit
import Lottie
@objc class MyLottie: NSObject {
///アニメ開始
@objc static func playAnimation(view:UIView, name:String) {
NSLog("playAnimation MyLottie")
let animationView = AnimationView(name: name)
animationView.frame = CGRect(x: 0, y: 0, width: view.bounds.width, height: view.bounds.height)
animationView.center = view.center
animationView.contentMode = .scaleAspectFill
animationView.animationSpeed = 1
view.addSubview(animationView)
animationView.autoresizingMask =
[.flexibleLeftMargin,
.flexibleRightMargin,
.flexibleTopMargin,
.flexibleWidth,
.flexibleHeight,
.flexibleBottomMargin];
animationView.play()
}
}
##最後に
巷の情報だけじゃなかなかできなかったので、記事にしておきました。手抜きだけど