トグルスイッチも使ってみたかったので、切り替えるとこのように。
ボタンタイトル(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