UISwitch未返回其当前状态(开/关)

时间:2010-09-15 07:31:28

标签: iphone uiswitch

以下是使用valueChanged事件链接到UISwitch的IBAction方法:

- (IBAction) sanitySwitch {
if (checkoption.on == YES) {
    NSLog(@"SanityCheck ENABLED");
    sanityCheck = YES;
} else {
    NSLog(@"SanityCheck DISABLED");
    sanityCheck = NO;
}
}

它总是返回“SanityCheck DISABLED”。 UISwitch checkoption正确链接到XIB文件中的对象,并且已经放置了正确的@propery和@syntetize设置。

2 个答案:

答案 0 :(得分:14)

用此代码替换代码。 并再次使用switch作为值更改控制事件进行连接。

- (IBAction) sanitySwitch:(id)sender {
    if ([sender isOn]) {
        NSLog(@"SanityCheck ENABLED");
        sanityCheck = YES;
    } 
    else {
        NSLog(@"SanityCheck DISABLED");
        sanityCheck = NO;
    }
}

答案 1 :(得分:-1)

您正在以“错误的方式”使用财产 你必须检查如下:

if ([checkoption isOn])

正确查看the documentation