我有一個UISwitch
,我將其放置在故事板中,並將其連接到實現文件中的插座,並將valueChanged:
方法連接到控件事件「值已更改」。但是,只有當我將它從關閉切換到開啓時纔會調用,而不是從開啓到關閉。UISwitch只能單向工作
這裏是我的代碼:
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;
[email protected]"";
_tip.backgroundColor = [UIColor whiteColor];
}
if (_tipIncluded.isOn==NO){
NSLog(@"1");
_tipIncluded.on=YES;
[email protected]"0";
_tip.backgroundColor = [UIColor lightGrayColor];
_tip.textColor = [UIColor blackColor];
}
}
我知道,當它從OFF上,因爲它只是調用這個方法當我以這種方式切換時,我只在方法結束時從NSLog獲得3個。
確實在UISwitch上有一個「isOn」屬性。 該屬性被聲明爲'@property(nonatomic,getter = isOn)BOOL on;' – Lance
確定,但它與說'on'完全相同,不是嗎? – matt
非常真實,只是想我會指出使用'isOn'的代碼不是_wrong_;} – Lance