嫁の誕生日にiOSでスライドショーのアプリを作った

  • Posted date :
  • 2016 / 06 / 14
  • Category :
  • app

クールでホットでクレイジーなカツカワです。
1年で最もしくじれない日6月4日。
そう6月4日は嫁の誕生日。嫁が生まれた日です。 嫁を祝う日です。
この日の出来が今年の1年を楽しく過ごすカギとなるのです!!

絶対にしくじれない日 6月4日は嫁の誕生日です

shokatsukawa 6月4日が今年もやってきました。何度も言っていますがこの日は嫁の誕生日です。嫁が生まれた日でそれを祝う日ですね。 絶対にしくじれないです。なぜなら嫁を愛しているから。
そう僕は嫁を愛しているのです。なので嫁の誕生日は嫁に心から喜んでもらいたいのです。
もう一度言う。なぜなら嫁を愛しているから。

お祝いごとには欠かせないさサプライズ

shokatsukawa プレゼントはバッチリ。ディナーの予約もバッチリ。でもそれだけでは何か足りない。そう考えた僕は手紙を書こうと思いました。熱い(レッドホット)想いを文章にしてそれをサプライズプレゼントすれば嫁もきっと喜んでくれるはず。 しかし、手紙はこれまでに何通もあげたから普通の手紙じゃダメだな。 僕は考えました。
.
.
.
.
そうだ僕はエンジニア。アプリにしてしまえばもっと喜んでくれるのでは!
嫁はiPhoneなのでiOSのアプリをつくる事にしました。

ちなみに普通のプレゼントは嫁が今もっとも欲しいと言っていたスタンスミスの復刻をプレゼントしました。 ついでに娘にも買ってお揃いにしました 🙂

写真とメッセージが自動で切り替わるプログラミングを組む

shokatsukawa 二人の思い出の写真にメッセージを添えて自動でイメージが切り替わる、そして良い感じの音楽が流れる。
これくらいのプログラミングは朝飯前です。
プラットフォームはiPhone プログラミング言語はSwift。
いざ、プログラミング。
.
.
.
.
できました(朝飯前です)。まずはデモの動画をご覧下さい。※デモなので写真は全部僕です 音量にご注意ください
以下スライド部分のコードです。イメージビューを2つ使ってUIView.animateWithDurationにてalphaを0から1にしてフワッと表示させてます。 実装する時は是非参考に 🙂

import UIKit

class ViewController: UIViewController {
    let Delay = 2.0
    let MaxImageNameNumber = 10
    var imageNameNumber = 1
    
    let firstImageView = UIImageView(image: UIImage(named: "1"))
    
    override func viewDidAppear(animated: Bool) {
        super.viewDidAppear(animated)

        let delayTime = dispatch_time(DISPATCH_TIME_NOW, Int64(1 * Double(NSEC_PER_SEC)))
        dispatch_after(delayTime, dispatch_get_main_queue()) {
            self.start()
        }
    }
    
    func start() {
        self.firstImageView.frame = self.view.frame
        self.firstImageView.contentMode = .ScaleAspectFill
        self.firstImageView.clipsToBounds = true
        self.firstImageView.alpha = 0
        self.view.addSubview(self.firstImageView)
        UIView.animateWithDuration(Delay, delay: Delay, options: .CurveEaseOut, animations: {
            self.firstImageView.alpha = 1.0
            }, completion: {_ in
                self.repeatImageShow()
        })
    }
    
    func repeatImageShow() {
        self.imageNameNumber += 1
        
        if self.MaxImageNameNumber < self.imageNameNumber {
            return            
        }
        
        let secondImageView = UIImageView(image: UIImage(named: String(self.imageNameNumber)))
        secondImageView.contentMode = .ScaleAspectFill
        secondImageView.clipsToBounds = true
        secondImageView.frame = self.view.frame
        secondImageView.alpha = 0
        
        self.view.insertSubview(secondImageView, aboveSubview: self.firstImageView)
        
        UIView.animateWithDuration(self.Delay, delay: self.Delay, options: .CurveEaseOut, animations: {
            secondImageView.alpha = 1.0
            }, completion: {_ in
                self.firstImageView.image = secondImageView.image
                secondImageView.removeFromSuperview()
                self.repeatImageShow()
        })
    }
}

泣いて喜んでくれました

shokatsukawa 誕生日の前日、嫁が寝てる時にこっそり嫁のiPhoneにxcodeからダウンロードして絶対に開かないであろうグループのところにアプリを隠しておきました。
そしてディナーの後に嫁に「もう一つプレゼントがあるよ」っていってアプリを開くように促しました。
iPhoneから音楽が鳴り響き、二人の思い出が刻々と映し出されていきます。それを見てる僕は涙腺が爆発寸前です。 ふと嫁を見ると嫁の方はすでに涙腺が爆発していました。
とてもくさい内容なので実際につくったものはお見せできませんが(ギップルが悶えてしまいます) でも、これで今年の誕生日は成功という形で終える事ができました。やはり気持ちの込もったサプライズは破壊力がありますね。 来年も頑張ります 🙂

LaunchCraftと一緒に人の心を動かすモノを作りませんか??

shokatsukawa 今回つくったモノは決して技術的に高いとはいえないですが嫁は喜んでくれました。
LaunchCraftは人の心を動かすモノをつくります。ただ動作するだけのソフトウェアではなく人の心にしっかりと伝わるモノをつくります。一緒に人の心を動かすモノをつくりましょう!!

お問い合わせはこちらから。

SHARE THIS POST

LIKE US! :)

  • FACEBOOK PAGE
  • TWITTER FOLLOW
  • FEEDLY

BLOG CATEGORY

WRITER PROF.

  • NAME :
  • Katsukawa
  • POSITION :
  • 代表
  • COMMENT :
  • 経営とエンジニアを行っています。自分が何かをするよりも人を助ける事に大きく喜びを感じます。ITの事で困った事がありましたらお気軽にご相談ください!!

関連記事

WRITER PROF.

  • NAME :
  • Katsukawa
  • POSITION :
  • 代表
  • COMMENT :
  • 経営とエンジニアを行っています。自分が何かをするよりも人を助ける事に大きく喜びを感じます。ITの事で困った事がありましたらお気軽にご相談ください!!

OTHER CONTENTS

その他のコンテンツ
  • SYSTEM
  • システム開発
  • FLYER DESIGN
  • チラシ / フライヤー デザイン