如何访问UISwitch的值

时间:2014-03-28 10:25:54

标签: ios uiswitch

我已经创建了一个settingsView,还有一个视图,如果你想在某个时间它是一个是或否但我不知道如何访问我知道的uiswitch的值而不是尝试,你可以选择通知要获取视图对象我应该尝试保存状态的首选项,但我不知道我只想点击我的UISwitch,然后在设置中查看UILabel被填充但是我不知道如何在UISwitch上点击NSUserDefaults我已经将其保存在if (UISwitch.on) { //notify me please } else { // leave as is } 被通知的View中,但不知道如何在settingsView中访问该值,以便我可以放入settingsView

viewWillAppear

当然,这只是我想要它的快速布局,以及我在哪里将它放在settingsView viewDidLoad,{{1}}或两者中请帮助我一个新的也是如此所以,如果我说了一些你认为不正确的语法谢谢

,请善待

3 个答案:

答案 0 :(得分:5)

试试这段代码:

// add this code in your switch touch event

- (IBAction)YourSwitch:(UISwitch*)sender
{
    if (UISwitch.on)
    {
        NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
        [defaults setBool:true forKey:@"Sound"];
        [defaults synchronize];

    }
    else
    {
        NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
        [defaults setBool:false forKey:@"Sound"];
        [defaults synchronize];

    }
}

在viewdidload中添加此代码。

BOOL swithState = [[NSUserDefaults standardUserDefaults] boolForKey:@"Sound"];

if (swithState)
{
    _ref_slider.on=true;
}
else
{
    _ref_slider.on=false;
}

我希望这段代码对你有用。

答案 1 :(得分:0)

只需在UIViewController中创建一个UISwitch属性,并确保将其设置在类的init / viewDidLoad中(从IBOutlet或以编程方式将其添加到视图中)。然后,您可以从类中的任何位置访问UISwitch的on-property(以及一些额外的功能!)并根据需要使用if语句。

Apple Doc ref:https://developer.apple.com/library/ios/documentation/uikit/reference/UISwitch_Class/Reference/Reference.html

答案 2 :(得分:0)

如果您正在使用故事板,请连接您的UISwitch的操作并在其中编写以下代码。

- (IBAction)switchTapped:(id)sender
{
    if ([sender isOn]) {
           // your code
    }
    else
    {
         // your code
    }

}