86
iPhoneアプリ開発入門 XcodeStoryboardで画面を作ろう! 201323() iPhone開発初心者向け資料 α

iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

Embed Size (px)

DESCRIPTION

2013/2/3の勉強会で使った資料です。 iPhone開発者初心者向けです 内容は 「XcodeのStoryboardを使って 簡単なじゃんけんゲーム」を作るです。

Citation preview

Page 1: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

iPhoneアプリ開発入門XcodeのStoryboardで画面を作ろう!

2013年2月3日(日)

iPhone開発初心者向け資料 +α

Page 2: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

自己紹介twitter ID : itokami1123

お昼の仕事はHTML5/CSS3/JavaScriptです。

Webの仕事なんですけどクライアント側処理をメインにしてます。

何かお仕事があれば是非どうぞ!!

iPhoneアプリは通勤中に作ってます。

Page 3: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

iPhoneアプリ作りのきっかけ

最初は新しい仕事の為(転職の為)

2011年まで古い技術(Java1.4とCOBOLとメーカ独自データベース製品など)しか触った事がなく段々と将来に不安になりました・・・

Page 4: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

そこでHTML5とiPhone開発の勉強を独学で始めました。

Page 5: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

福岡にはhtml5+α@福岡やiDevQ(iOS Developer Community)

など素敵な勉強会があって色々と助けてもらいました。

勉強会の検索は http://azusaar.appspot.com/

がお勧めです!

Page 6: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

おかげさまで無事転職出来ました。

素敵な職場です。感謝してます。

Page 7: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

今でもiPhoneアプリを作る理由

作るのが楽しい!

子供向けに学習ソフトを作っています。どうやったら子供達が楽しく苦手なものを克服出来るのかを考えるのがとても楽しいです!

iPhoneさえあればどんな子にでも学習のチャンスを与える事がでます!

Page 8: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

宣伝です!http://www.itokami1123.com/soft/ で色々ソフトを公開してます!

リジェクト中

Page 9: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

少し悩みが。。

福岡でもAndroidは集まって開発するグループがあるんですけどiPhoneアプリ(特に初心者向け)の集まりは少ないんです。

福岡のiPhoneアプリ制作者の集まりができたらいいなぁ。。

Page 10: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

そこで

iPhoneアプリ開発者が少しでも増えたらいいなと思い、入門を説明したいと思います!(難しいツッコミは、ご勘弁を。。)

この資料ではメニューとゲーム2画面のじゃんけんゲームを作りたいと思います。

Page 11: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

まずは。。

Xcodeをインストールしてください!

すみません。。説明は省略しますね。

Page 12: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

Xcodeを起動

Xcodeのアイコンをクリックします!

今日は Version 4.5.2 を使用します。

Page 13: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

新規作成

Create a new Xcode projectをクリックします。なんだか英語が一杯ですね。。

Page 14: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

アプリの雛形選択

今回はSingle View Applicationを選んでみました。

Page 15: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

初期入力

今回のアプリに関する情報をいれます。

上二つチェックをつけて Nextを押します。めも:Company Identifierは、ドメイン名を逆さにしたものが推奨されているようです。(例:example.comの場合は、com.exampleとなる)

Page 16: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

ソース管理?

とりあえず気にせずチェックをはずして

Createボタンを押します!

Page 17: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

じゃ~ん

出て来ました!

Page 18: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

いきなり動かす!

再生ボタンをクリックすると。。

Page 19: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

なにもでません。。

でもiPhoneらしくものが出て来ましたね。

これが iOSシミュレータです!

Page 20: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

メニュー作り!さっそくメニューを作ってみましょう!

Storyboardのファイルをクリックすると

Page 21: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

この白い画面が最初に出てた画面みたいですね。さっそく編集してみましょう。

Page 22: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

右下に色々あるよ

背景を作ってみます。Image Viewをドラッグします。

Page 23: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

画像を選ぶ

Imageで画像を選べるみたいですけど登録が必要ですね。

Page 24: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

画像を登録

画像が入っているフォルダをドラッグして投げ込みます!

Page 25: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

画像が登録されます。

Copyにチェックをつけるとこのアプリのソースの方にpng画像がコピーされます

Page 26: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

背景画像

前に置いた背景に画像をつけました!

Page 27: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

タイトルをつけよ~背景と同じ様にImage Viewをドラッグします

png画像を指定します

Page 28: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

そういえば

そしてタイトルの高さ幅、位置を指定します

いっつもUse AutolayoutをOFFで作ってます。

(使い方が分かりません。。)

Page 29: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

スタートボタン

Round Rect Buttonをドラッグします!

Page 30: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

ボタンを編集Customを選ぶと画像がつけれます。

Page 31: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

メニューが出来たので続いてゲーム画面を作りましょう!

Page 32: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

ゲーム画面の枠を作る

ViewControllerをドラッグ!

Page 33: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

補足:拡大と縮小

右下の虫眼鏡で切り替えます。

Page 34: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

ゲーム画面の背景

ゲーム画面もメニュー画面と同じ様に作ります。

Page 35: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

操作ボタン

ゲームの操作ボタンを置きます。ぐー、ちょき、ぱーの3つです。

RoundRect

Buttonをドラッグ

Page 36: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

ボタンの画像設定

typeをcustomにしてImageを設定します!

Page 37: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

では画面遷移を作って行きましょう!

Page 38: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

画面遷移

ctlを押しながらドラッグすると線が!

Page 39: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

画面遷移2

modalを選ぶと矢印ができました。

Page 40: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

動かしてみましょう~

Page 41: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

メニュー画面の上にゲーム画面が表示されます!

Page 42: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

突然ですが残念なお知らせです。

こっから先はプログラムがないとゲームになりません。

Page 43: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

Storyboardとコード

Storyboardの画面とコードはどうやってつながってるの?

Page 44: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

Classと書いている所に指定すればOK

紐づけたいViewCotrollerを選んで

Page 45: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

それではゲーム画面用のプログラムを用意してみましょう!

Page 46: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

File -> New -> Cocoa Touch -> Objective-C class を選んで Next!

Page 47: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

ViewControllerを作成

ゲーム画面用としてGameViewControllerを作成注意:Subclass of は UIViewController

Page 48: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

そのままcreateをクリック

Page 49: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

ゲーム画面のViewControllerのClassにGameViewController設定します。

Page 50: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

勝ち負けの表示

勝敗を表示するLabelを貼ります。

Page 51: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

最初は非表示

HiddenをOnすると非表示になります

Page 52: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

相手の手

相手の手をImageViewで配置してHiddenにしておきます

Page 53: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

ここまでで動かしてみましょう!hiddenは表示されない事が確認出来ます。

Page 54: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

hidden(非表示)の勝ち負けのラベルなど表示されていない事が分かりますね!

Page 55: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

それではじゃんけんのボタンとプログラムを繋いでみましょう!

Page 56: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

じゃんけんボタン

Storyboard右上にある人の顔みたいなアイコンを押します。

「Assistant」ボタン

Page 57: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

右側にソースが

右側に設定したGameViewControllerが出てきました!

Page 58: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

難しそうな文字がいっぱいですが気にせずじゃんけんボタンをctlを押しながら@interfaceと@endの間にドラッグします。

Page 59: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

ConnectionをAction(動作)TypeをUIButton(ボタン)EventをTouch Up Inside(ボタンを触った)ArgumentsをSender(押されたボタン)NameはjankenDidPush(好きな名前)にします。

Page 60: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

jankenDidPushと言う関数が出来ました!

Page 61: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

他のじゃんけんボタンはさっき作った関数名にくっつけます。どのじゃんけんボタンを押しても同じ関数を呼ぶ様になりました。

Page 62: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

相手の手

じゃんけんですので相手の手が必要ですね!

Page 63: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

arc4random()%3 って書くと0から2の範囲で適当な数値を返してくれます。じゃんけんボタンを押した時の処理の先頭にかきましょう!

Page 64: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

hiddenで隠していた手を表示する為には各Image Viewをプログラムと接続しないといけないです。ctlを押しながら GameViewController.hにドラッグします。

Page 65: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

ConnectionをOutlet、TypeをUIImageCiew、StorageをWeakのまま変えずNameに好きな名前をつけます。上の場合はぐーなので “guu”とつけました。

Page 66: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

ちょき、ぱーも入れてGameViewController.hはこんな感じになりました。

Page 67: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

相手の手を表示してみましょう!

Page 68: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

if は もしも 〇〇 だったらという意味です。

Page 69: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

うごかしてみましょう!

Page 70: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

ボタンを押すと相手がじゃんけんを出す様になりました!

Page 71: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

そういえば、自分が押した手が何かiPhoneが分かりませんね??

Page 72: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

Tag

Tagを使うと区別が出来ます。ぐーは0、ちょきは1、パーは2にします。プログラムでTagの数字が拾えるんです。

Page 73: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

かち!まけ!あいこ!の3つの文字もプログラムに繋いでおきます。

Page 74: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

自分の手と相手の手の組み合わせで結果を表示します。

Page 75: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

2回目おすとなんだかおかしいですね。。

Page 76: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

前の表示が残っているからです。前の表示を全部非表示にしてやりなおせばOKです。

Page 77: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

ゲームからメニューに戻る機能をつけましょう~

こっから画像が変わってますけど気にしないでね

Page 78: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

前回同様、ボタンをドラッグします。

Page 79: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

メニューのボタンと同様にcustomを選びボタンをImage画像を変更します

Page 80: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

メニュー画面に戻るボタンをctl押しながらドラッグします。

Page 81: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

下記のように設定しますConnection : Action

Type : UIButtonEvent : Touch Up Inside

Arguments : Sender

Nameは好きにつけれます。今回は、 “backToMenuBtnDidPush”とつけました。

Page 82: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

GameViewController.hはこんな感じになりました

Page 83: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

こんどは、GameViewController.m のbackToMenuBtnDidPush関数にゲーム画面を閉じる命令を書きます。[self dismissViewControllerAnimated:YES completion:nil];

Page 84: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

動かしてみましょう!

Page 85: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

これでおしまいです!

Page 86: iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」

最後まで見て頂きありがとうございました!

間違いご指摘などありましたらtwitterで@itokami1123まで