xcode 用户开关开/关

xxls0lw8  于 2022-12-14  发布在  其他
关注(0)|答案(8)|浏览(140)

我是一个新的目标-c,我已经做了一个登录页面的应用程序,其中我已经使用UISwitch记住d登录细节,如果开关是在模式。我已经做了记住登录细节,但问题是,如何使用开关的开/关条件。谢谢提前

wecizke3

wecizke31#

最简单的解决方案:)

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

amrnrhlw2#

根据开关的on属性,可以在代码中的某个位置添加一个条件语句。例如,假设您在一个名为rememberLoginDetails的方法中记住了登录详细信息。当某个操作被触发时(例如,用户离开登录页面),您要做的是:

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

这里的重要方法是UISwitch yourSwitchisOn方法。isOn是交换机的on属性的getter,如果交换机打开,则该属性是包含YESBOOL属性,如果交换机未打开,则包含NO
有关更多信息,您可以查看UISwitch class reference,特别是关于isOn的部分。

ltqd579y

ltqd579y3#

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

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

ffdz8vbo4#

我认为代码应该是这样的:

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

wqlqzqxt5#

这是另一种解决方案,如果您的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" );
}
fhity93d

fhity93d6#

if(switchValue.isOn){
    [switchValue setOn:NO];
} else {
   [switchValue setOn:YES];
}
42fyovps

42fyovps7#

我遇到了同样的问题,我有UISwitch的名称= Selected
我把它改成了另一个名字,它起作用了。

nwo49xxi

nwo49xxi8#

这是对那个问题的另一个解决方案。

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

相关问题