ストーリーボードに配置し、UISwitch
それを実装ファイルのアウトレットに接続し、valueChanged:
メソッドをコントロールイベント「値が変更されました」に接続しました。ただし、オンからオフではなく、オフからオンに切り替えたときにのみ呼び出されます。
これが私のコードです:
ViewController.h
@interface splitViewController : UIViewController
@property (weak, nonatomic) IBOutlet UISwitch *tipIncluded;
@end
ViewController.m:
- (IBAction)valueChanged:(UISwitch *)sender {
NSLog(@"3");
if (_tipIncluded.isOn==YES){
NSLog(@"2");
_tipIncluded.on=NO;
_tip.text=@"";
_tip.backgroundColor = [UIColor whiteColor];
}
if (_tipIncluded.isOn==NO){
NSLog(@"1");
_tipIncluded.on=YES;
_tip.text=@"0";
_tip.backgroundColor = [UIColor lightGrayColor];
_tip.textColor = [UIColor blackColor];
}
}
このメソッドをオフからオンに切り替えたときにのみこのメソッドを呼び出していることがわかっています。これは、メソッドをそのように切り替えたときに、メソッドの最後で NSLog から 3 しか取得しないためです。