2011年4月17日日曜日

[iOS] カスタムUIViewControllerで画面の中を制御する (1)

前回、カスタムUIViewControllerをつくる

[開発環境] Xcode4, iOS4.3

前回、作成したカスタムUIViewControllerの画面にスイッチとラベルを追加しました。
今度は、スイッチをON/OFFにすると、ラベルの内容が変わるようにしてみます。


さてプログラムを書いていきましょう。

■スイッチの状態(ON/OFF)が変わったときに呼ばれるメソッドを作ります。
1.[カスタムUIViewControllerの〜.h]を開き、メソッドを宣言します。「-(IBAction) <メソッドの名前>:(id)sender;」を追加します。メソッドの名前は自由につけれますが、引数と戻り値は合わせてください。senderには、イベントが発生したオブジェクトが入ります。今回は、UISwitchのオブジェクトです。


2.[カスタムUIViewControllerの〜.m]を開き、
「-(IBAction) <メソッドの名前>:(id)sender;」の定義を追加します。
末行あたりの@endの前くらいです。




■作成したメソッドをスイッチの状態が変わったときに呼ばれるようにする。
1.[カスタムUIViewControllerの〜.xib]を開き、
①で[File's Owner]を選択して、
②でコネクションインスペクターをクリックします。
③で作成したメソッドところで○をスイッチまでドラッグします。

2.ドラッグを離すと、スイッチのイベントが一覧が表示されます。[Value Changed]を選択します。

■ちゃんと呼ばれているかコンソールで確認してみる
1.作成したメソッドの中に、コンソールにログを出力する関数を追加します。
NSLog(@"〜出力するメッセージ");



2.アプリを実行する

3.コンソールを表示するには、Xcodeの下側にある[▲]ボタンをクリックします。

4.赤枠がコンソールです。

5.スイッチを押してみると、ログが表示されます。


次回、作成したメソッドの中で、ラベルの内容を変えるプログラムを追加してみます。

<補足>
「#pragma mark - 〜〜〜〜」って何だろう?
これを使うと、Xcodeでのメソッド一覧表示に見出しをつけてくれる





0 件のコメント:

コメントを投稿