とりあえずやったことを晒す:はじめてのiPhoneアプリ

iPhone/iPad| | 2010.06.30

はじめてのiPhoneアプリ
ボタンを押したら上のラベルのメッセージがかわります。

トグルスイッチも使ってみたかったので、切り替えるとこのように。

はじめてのiPhoneアプリ
ボタンタイトル(VB的にはボタンラベル)を変えたりもしております。

■test2ViewController.h

#import
#import

@interface test2ViewController : UIViewController {
IBOutlet id label;  //ラベルの内容を変更したいので、ラベルと接続
IBOutlet id mode; //現在の状態(わんこorなんこ)を記憶するために作ったけど多分いらない(変数で対応できそう)
IBOutlet id btn_On;//ボタンタイトルを変更したいので「○○する」ボタンと接続
IBOutlet id btn_Off;//ボタンタイトルを変更したいので「○○しない」ボタンと接続
}
– (IBAction)notShout:(id)sender;
– (IBAction)setShout:(id)sender;
– (IBAction)changeMode:(id)sender;
@end

■test2ViewController.m

#import “test2ViewController.h”

//modeに格納するとか、比較のために「わんこorなんこ」の状態の定数を作る
#define NANKO 0
#define WANKO 1

@implementation test2ViewController
//「○○しない」ボタンのTouchDownアクション
– (IBAction)notShout:(id)sender {
[label setText:@ “…”];
}

//「○○する」ボタンのTouchDownアクション
– (IBAction)setShout:(id)sender {
NSString *str;
if (mode==WANKO) {
str=@”わんこ!!”;
}else{
str=@”なんこ!!”;
}
//ラベル表示内容を変えるにはsetText関数で
[label setText:str];
}

//トグルスイッチのValue Changedアクション
– (IBAction)changeMode:(id)sender{
NSLog(@”イベント”);
if (mode==WANKO) {
mode=NANKO;
//コンソール画面に出力したいときに使うNSLog。
//変数等を表示したいときは、NSLog(@”%@”,変数);する。
NSLog(@”%@”,[btn_On currentTitle]);

//ボタンタイトル(表示ラベル)を変更したいときはsetTitle関数。
//「どの状態のタイトルを変更するか」を表す2つ目の引数(forState:)がないとエラーになります。
//通常は下記の通りで問題ない。押されてるときだけはforState:UIControlStateHighlighte
[btn_On setTitle:@”なんこする”
forState:UIControlStateNormal];
[btn_Off setTitle:@”なんこしない”
forState:UIControlStateNormal
];
}else{
mode=WANKO;
NSLog(@”%@”,[btn_On currentTitle]);
[btn_On setTitle:@”わんこする”
forState:UIControlStateNormal];
[btn_Off setTitle:@”わんこしない”
forState:UIControlStateNormal];
}
}
@end

UITableViewの難解さにあきれる。

iPhone/iPad| | 2010.06.30

いやあ、うん、むつかしいでっすね。 ビューに直接ラベルやらボタンやらおいて、動的に内容変えたりってのはそれほど苦労しなかったんで、「VBAの時の様に案外いけるかも!」と調子こいていたら、ついに壁がやってまいりました。 そ 続きを読む