Help us understand the problem. What is going on with this article?

UIViewを燃やしてみた(swift)

More than 1 year has passed since last update.

はじめに

noppefoxwolf/KitsunebiこれをみてUIViewを燃やせるんじゃないかと思いつくってみました。

2019/04/21 せっかくなんでswift5.0対応しました

GitHub

つくったものはここ
AMBurnAnimation

見た目

burn2

機能

  • 指定のUIViewを燃やすアニメーションが設定できる(下から上のみ)
  • アニメーション時間が設定できる
  • アニメーション終了時の処理が設定できる

使い方

  1. プロジェクトにextension追加

    gitからファイルをダウンロードしてプロジェクトにUIView+BurnAnimationフォルダのファイルを追加する

  2. 指定のViewで下記のアニメーション設定メソッドを呼ぶ

targetView.burnAnimation(duration: 3.0,
                         completion: nil)

上記の例では3秒かけてtargetViewを燃やすアニメーションを設定している。

仕組み

このクラスの仕組みについて少し説明しておきます。
下記のような仕組みでアニメーションを設定しています。

  1. 対象のViewのキャプチャを作成する
  2. CAEmitterLayerを使って炎を出す
  3. 対象のViewのisHiddenをtrueにして非表示にする
  4. キャプチャしたViewとCAEmitterLayerにアニメーションを設定する
  5. アニメーション終了時に対象のViewのisHiddenをfalseにして表示する

炎の表示はUIKit上でパーティクルエフェクトを表示する - Over&Out その後を参考にさせていただきました。

さいごに

炎の表示は画像の作成を頑張れば(煙を出すとか炎の形を変えるとか)もっとカッコ良くなるような気がします。

特に使い道は考えていませんが、現実では燃やせない書類を燃やしてみるとかしてスカッとするとかどっかで使える気がしなくもないです・・・(ビューアアプリでファイル削除時に使うとか?)
burn

私はほぼObjective-Cしか使ったことがないペーペーのプログラマーなので記事内容やgithubのコードにおかしなところがあればご指摘いただければ幸いです。

つくったのまとめ

動作確認用にまとめたプロジェクト

am10
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした