動く絵本のiPhoneアプリ作成で学ぶSwift文法総まとめ初心者のためのSwiftで始めるプログラミング入門(終)(6/6 ページ)

» 2016年05月11日 05時00分 公開
[諏訪悠紀アンダースコア]
前のページへ 1|2|3|4|5|6       

switch文でページを切り替える

 最後に「進むボタン」や「戻るボタン」をタップしたときに、ページが変更されるようにしましょう。

 ページを変更する処理は、ページを変更する処理だけを行うメソッドを新しく作り、そのメソッドの中に書くようにします。こうしておくと、「進むボタンをタップしたとき」メソッドと「戻るボタンをタップしたとき」メソッドの中では、このメソッドを呼び出すだけでいいようになります。

ページを変更する処理 ページを変更する処理

 ページを変更するメソッドを作成しましょう。次のプログラムをViewControllerクラスの中に書いてみてください。

func ページの変更(ページ番号: Int) {
    イメージ.stopAnimating()
    switch ページ番号 {
    case 1:
        イメージ.animationImages = [UIImage(named: "Image1-A")!, UIImage(named: "Image1-B")!]
    case 2:
        イメージ.animationImages = [UIImage(named: "Image2-A")!, UIImage(named: "Image2-B")!]
    case 3:
        イメージ.animationImages = [UIImage(named: "Image3-A")!, UIImage(named: "Image3-B")!]
    case 4:
        イメージ.animationImages = [UIImage(named: "Image4-A")!, UIImage(named: "Image4-B")!]
    default: break
    }
    イメージ.startAnimating()
}

 この「ページの変更」メソッドは、引数にInt型の値を指定しています。メソッドの中では、引数の「ページ番号」の値によって分岐するようなswitch文を書いています(switch文は連載第4回で登場)。

 メソッドの中では、初めに現在のアニメーションを止めるため「stopAnimating」メソッドを呼び出しています。「stopAnimating」を呼び出すと、コマ送りのアニメーションが停止します。

 それぞれのcase文の中では、絵を表示するためのUIコンポーネントである「イメージ」の「animationImages」プロパティに、コマ送りする画像データを代入しています。1ページ目の場合は「Image1-A」「Image1-B」の画像セットを、2ページ目の場合は「Image2-A」「Image2-B」の画像セットを……といったような感じです。

 switch文の最後の「default:」は、いずれのcase文にも条件が当てはまらなかったときに行うことを記述する場所です。何も書かない場合は「break」と書く必要があります。

 最後に、あらためて「startAnimating」メソッドを呼び出し、コマ送りのアニメーションを再開しています。

メソッドからメソッドを呼び出す

 後は、このメソッドを「進むボタンをタップしたとき」メソッドと「戻るボタンを押したとき」メソッドの中で呼び出すだけです。次のように、それぞれのメソッドに既に書いてあるプログラムの一番下に「ページの変更」メソッドを呼び出すプログラムを追加してください。

@IBAction func 進むボタンをタップしたとき() {
    if 現在のページ番号 < 4 {
        現在のページ番号 += 1
    }
    print("\(現在のページ番号)ページ目")
    ページの変更(現在のページ番号)
}
@IBAction func 戻るボタンを押したとき() {
    if 現在のページ番号 > 1 {
        現在のページ番号 -= 1
    }
    print("\(現在のページ番号)ページ目")
    ページの変更(現在のページ番号)
}

 「ページの変更」メソッドの引数には「現在のページ番号」を渡しています。「現在のページ番号」プロパティへの変更が終わってから呼び出しているので、呼び出された「ページの変更」メソッドの中では、新しいページ番号に対応した画像データに変更する処理が行われるようになります。

完成したアプリの実行結果を動画でチェック

 アプリを実行してみましょう。「進むボタン」または「戻るボタン」をタップすることで、動く絵が変わるようになっているはずです。

アプリの実行結果の動画アプリの実行結果の動画(画像をクリックすると、動画ファイルが開きます)

 ついに「動く絵本アプリ」の完成です。お疲れさまでした!

サンプルアプリのファイルをダウンロード

 今回完成した「動く絵本アプリ」プロジェクトのファイルは、こちらからダウンロードできます。プロジェクト内のファイルがたくさんあるので、ZIPでまとめて圧縮しています。

 「ちゃんとプログラムを書いているはずなのに、どうしても動かない」というときがあるかと思いますので、問題が起きたときの参考にしてください。

一番大切なことは「自分が一体、何を作りたいのか」

 お試しのiPhoneアプリが完成したところで、この連載は終わりです。皆さんが普段使っているiPhoneアプリのようにするには、もう少し複雑な作り込みが必要ですが、この連載を通して「どのような感じで作るのか」を体験できたかと思います。

 iPhoneアプリを作る上で一番大切なことは「何を作るか」です。まずは「自分が一体、何を作りたいのか」をよく考えるようにしましょう。作りたいアプリをうまく作ることができたとき、「よし、次のアプリを作ろう」と思えてくるはずです。iPhoneアプリ作成へのやる気を常に持つことができれば、自然と作るための力が身に付きます。

 また連載第3〜7回では、Swiftのプログラムの書き方を学んできました。さまざまなSwiftの機能を解説してきましたが、全ての機能を覚えなければiPhoneアプリが作れないわけではありません。プログラミングの勉強だからといってかしこまらずに、好きなように触れていってください。

 あなたにとってのiPhoneアプリ作成の楽しさはどのようなところでしょうか? 例えば「思い通りのアプリが動いたとき」「かっこいいデザインのアプリが作れたとき」「きれいなプログラムが書けたとき」などなど……。人によって、実にさまざまです。“自分なりの楽しさ”を見つけ、その楽しさが広がるような作り方ができると、作るのがどんどん楽しくなってきます。ぜひ、楽しみながらiPhoneアプリ作成やプログラミングに取り組んでいってください。

 最後までお読みいただき、ありがとうございました! この連載が、プログラミングやiPhoneアプリ作成を始めるきっかけになればうれしいです。

著者紹介

諏訪悠紀

アンダースコア株式会社でiOS/Androidのアプリ開発に携わっています。


ブログGoogle Play StoreiTunes App Store


前のページへ 1|2|3|4|5|6       

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。