iphone设置和读取状态UISwitch

时间:2011-05-22 20:55:04

标签: iphone uiswitch

我有一个视图,其中的对象是从数据库设置的,同样也保存到数据库中。 UITextViews工作得很好,但我似乎无法找到如何设置UISwitch的状态。

我可以在IB中更改它,但这不是我需要的。 DB中的记录具有0或1布尔值。因此,如果该字段为真,那么我想将UISwitch的状态设置为ON。

当我保存记录时,我需要能够查看视图上的值,从而在我的桌子上设置字段。

感谢您的帮助!!

编辑:这是我到目前为止所做的:

.h文件

@interface UserEdit : UIViewController {


    IBOutlet UISwitch *male;

}


@property (nonatomic, retain) IBOutlet UISwitch *male;

.m文件

@synthesize male;


- (void)viewDidLoad {
    [super viewDidLoad];

    [male SetOn:NO];


}

应用在点击

上方的SetOn行时转储

我还需要不仅可以设置值,还可以读取它

4 个答案:

答案 0 :(得分:42)

您可以通过onsetOn:animated:方法设置UISwitch的状态,具体取决于您的要求。

例如:[yourUISwitch setOn:YES];

检查UISwitch Class Reference的设置关闭/开启状态部分以获取更多信息。

<强>更新

根据文档,您可以通过[yourUISwitch isOn];

读取

答案 1 :(得分:2)

您可以通过以下方式执行此操作:

//
//  ViewController.m
//


#import "ViewController.h"


@interface ViewController ()

@property (weak, nonatomic) IBOutlet UISwitch *mySwitch;

- (IBAction)switchChanged:(id)sender;

@end


@implementation ViewController

- (IBAction)switchChanged:(id)sender
{
    [[NSUserDefaults standardUserDefaults] setBool:self.mySwitch.on forKey:@"SwitchState"];
    [[NSUserDefaults standardUserDefaults] synchronize];
}


- (void)viewDidLoad
{
    [super viewDidLoad];
    self.mySwitch.on = [[NSUserDefaults standardUserDefaults] boolForKey:@"SwitchState"];

}

@end

答案 2 :(得分:1)

设置和阅读UISwitch的州

有快捷的版本代码
    //Change switch state
    self.mSwitchAccept.setOn(true, animated: true)
    //Get the switch state
    let switchState : Bool = self.mSwitchAccept.on

答案 3 :(得分:0)

为了设置UIS,您必须使用 [yourSwitch setOn:YES animated:YES];

为了读取UISwitch,您需要通过开关状态检索它,这是一个布尔类型 NSLog(@&#34;开关状态:%d&#34;,[yourSwitch isOn]); < /强>