Uiswitch开/关

时间:2009-07-08 07:59:11

标签: objective-c xcode

是对于objective-c的新手,我已经创建了一个登录页面的应用程序,其中我已经使用UISwitch来记住d登录详细信息,如果开关处于开启模式。我已经完成了记住登录详细信息,但问题是如何使用开关开/关条件。 Thanx提前

7 个答案:

答案 0 :(得分:17)

最简单的解决方案:)

if (switchValue.on){
    //Remember Login Details
}
else{
    //Code something else
}

答案 1 :(得分:7)

您可以在代码中的某处添加条件语句,具体取决于switch的on属性。例如,假设您记住了名为rememberLoginDetails的方法中的登录详细信息。你要做的是,当某个动作被触发时(例如,用户离开登录页面):

if([yourSwitch isOn]) {
    [self rememberLoginDetails];
} else {
    // Do nothing - switch is not on.
}

这里重要的方法是UISwitch isOn的{​​{1}}方法。 yourSwitch是交换机的isOn属性的getter,如果交换机处于开启状态,则on属性包含BOOL,如果不是,则为YESNO

有关详细信息,您可以看到UISwitch class reference,特别是part about isOn

答案 2 :(得分:3)

如果您想在用户开启交换机时记住登录详细信息,可以通过创建操作来完成。

- (IBAction)yourSwitch:(id)sender {
    if([sender isOn]){
        //do your stuff here
    }else{
    }
}

答案 3 :(得分:0)

我认为代码必须是这样的:

if([yourSwitch isOn] == YES) {
    [self rememberLoginDetails];
} else {
    // Do nothing - switch is not on.
}

答案 4 :(得分:0)

如果您的UISwitch位于tableView

中,这是另一种解决方案

1在“tableView:cellForRowAtIndexPath:”方法

中添加此代码
[switchControl addTarget:self action:@selector(switchChanged:) forControlEvents:UIControlEventValueChanged];

2添加此方法

- (void) switchChanged:(id)sender {
    UISwitch *switchControl = sender;
    NSLog( @"The switch is %@", switchControl.on ? @"ON" : @"OFF" );
}

答案 5 :(得分:-1)

这是该问题的另一种解决方案。

if (switchValue.on == YES)
{
    // Code...
}
else
{
    // Other code... 
}

答案 6 :(得分:-1)

我有同样的问题,我的名字是UISwitch = Selected

我将其更改为其他名称并且有效。