クールでホットでクレイジーなカツカワです。
1年で最もしくじれない日6月4日。
そう6月4日は嫁の誕生日。嫁が生まれた日です。 嫁を祝う日です。
この日の出来が今年の1年を楽しく過ごすカギとなるのです!!
絶対にしくじれない日 6月4日は嫁の誕生日です
6月4日が今年もやってきました。何度も言っていますがこの日は嫁の誕生日です。嫁が生まれた日でそれを祝う日ですね。 絶対にしくじれないです。なぜなら嫁を愛しているから。
そう僕は嫁を愛しているのです。なので嫁の誕生日は嫁に心から喜んでもらいたいのです。
もう一度言う。なぜなら嫁を愛しているから。
お祝いごとには欠かせないさサプライズ
プレゼントはバッチリ。ディナーの予約もバッチリ。でもそれだけでは何か足りない。そう考えた僕は手紙を書こうと思いました。熱い(レッドホット)想いを文章にしてそれをサプライズプレゼントすれば嫁もきっと喜んでくれるはず。 しかし、手紙はこれまでに何通もあげたから普通の手紙じゃダメだな。 僕は考えました。
.
.
.
.
そうだ僕はエンジニア。アプリにしてしまえばもっと喜んでくれるのでは!
嫁はiPhoneなのでiOSのアプリをつくる事にしました。
ちなみに普通のプレゼントは嫁が今もっとも欲しいと言っていたスタンスミスの復刻をプレゼントしました。 ついでに娘にも買ってお揃いにしました 🙂
嫁と娘にスタンスミスを買った????
— jyo (@shokatsukawa) 2016年5月22日
キッズのスリッポンタイプは初めて見た。スタンスミスさんがバッチリ見えるから非常にクールやわ
ちなみに俺はジャックパーセル派。 pic.twitter.com/55VcSqZYjv
写真とメッセージが自動で切り替わるプログラミングを組む
二人の思い出の写真にメッセージを添えて自動でイメージが切り替わる、そして良い感じの音楽が流れる。
これくらいのプログラミングは朝飯前です。
プラットフォームは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() }) } }
泣いて喜んでくれました
誕生日の前日、嫁が寝てる時にこっそり嫁のiPhoneにxcodeからダウンロードして絶対に開かないであろうグループのところにアプリを隠しておきました。
そしてディナーの後に嫁に「もう一つプレゼントがあるよ」っていってアプリを開くように促しました。
iPhoneから音楽が鳴り響き、二人の思い出が刻々と映し出されていきます。それを見てる僕は涙腺が爆発寸前です。 ふと嫁を見ると嫁の方はすでに涙腺が爆発していました。
とてもくさい内容なので実際につくったものはお見せできませんが(ギップルが悶えてしまいます) でも、これで今年の誕生日は成功という形で終える事ができました。やはり気持ちの込もったサプライズは破壊力がありますね。 来年も頑張ります 🙂
LaunchCraftと一緒に人の心を動かすモノを作りませんか??
今回つくったモノは決して技術的に高いとはいえないですが嫁は喜んでくれました。
LaunchCraftは人の心を動かすモノをつくります。ただ動作するだけのソフトウェアではなく人の心にしっかりと伝わるモノをつくります。一緒に人の心を動かすモノをつくりましょう!!
お問い合わせはこちらから。
SHARE THIS POST
LIKE US! :)