せっかくmacを買ったんでiPhoneのアプリをローカル上で作ってみた(メモ帳の作成編)

先日、環境構築の記事を書きましたが、
今回は実際にアプリ(メモ帳)を作ってみたいと思います。

  • 参考サイト

【マイコミジャーナル】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]ボタンが押されたときにキーボーどが隠されるようになる

ビルドして実行

  • プロジェクトウインドウのツールバーから[ビルドして進行]ボタンを押す

おぉぉぉ。動いた!
これで基本的なことは学べかな?