せっかくmacを買ったんでiPhoneのアプリをローカル上で作ってみた(メモ帳の作成編)
先日、環境構築の記事を書きましたが、
今回は実際にアプリ(メモ帳)を作ってみたいと思います。
- 参考サイト
まず、プロジェクトの作成
- [ファイル]→[新規プロジェクト...]を選択
- テンプレートの中から「View-Based Application」を選択
- プロジェクト名は「MempPad」としておきます
View Controllerクラスの編集(MemoPadViewController.h)
#import <UIKit/UIKit.h> @interface MemoPadViewController : UIViewController { // テキストビューのためのアウトレット IBOutlet UITextView* testView; } // キーボードを隠すためのアクション - (IBAction)done; @end
「IBOutlet」と書かれているところに注目してほしい。これが付いているインスタンス変数は、アウトレットと呼ばれる。アウトレットは、Interface Builderに対して、この変数をユーザインタフェース上の部品と関連づける事ができることを示している
メソッドの方は、doneという名前のものになる。このメソッドの返り値も、「IBAction」という特別なものになっている。この返り値を持つメソッドは、アクションと呼ばれる。アクションも、Interface Builderで使われることになるのだ
http://journal.mycom.co.jp/special/2008/iphone/005.html
ほぉほぉ。「IBOutlet」と書くとInterface Builderの部品と関連付けることができるのか。
Interface Builderでのレイアウト
- 「MemoPadViewController.xib」を開く
- [Library]から[View]へNavigationBar、Bar Button Item、Text Box を配置する
- NavigationBarのテキストを「Memo Pad」とする
- ボタンのインスペクタを表示し、Style及びIndentiferを「Done」にする
先程MemoPadViewController.hに定義した、アウトレットとアクションを[View]に接続する
- [MemoPadViewController.xib]の「File's Owner」を右クリックし[View]とドロック&ドロップ
- 「textView」の「◯」をText Boxへ
- 「done」の「◯」をBar Button Itemへ
これで接続完了
アクションメソッドの実装
- 「MemoPadViewController.m」を開く
- @implementationと@endの間に下記を記述し、
- (IBAction)done { // キーボードを隠す [textView resignFirstResponder]; }
- [Done]ボタンが押されたときにキーボーどが隠されるようになる