настройка iphone и состояние чтения UISwitch - PullRequest
15 голосов
/ 23 мая 2011

У меня есть представление, в котором его объекты устанавливаются из базы данных и также сохраняются в базе данных. UITextViews работают отлично, но я не могу понять, как установить состояние UISwitch.

Я могу изменить это в IB, но это не то, что мне нужно. Запись в БД имеет логическое значение 0 или 1. Поэтому, если поле имеет значение true, тогда я хочу установить состояние переключателя UIS в положение ON.

Кроме того, когда я сохраняю запись, мне нужно иметь возможность посмотреть значение в представлении и, таким образом, установить поле в моей таблице.

спасибо за любую помощь !!

РЕДАКТИРОВАТЬ: Это то, что я сделал до сих пор:

.h file

@interface UserEdit : UIViewController {


    IBOutlet UISwitch *male;

}


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

.m файл

@synthesize male;


- (void)viewDidLoad {
    [super viewDidLoad];

    [male SetOn:NO];


}

приложение сбрасывает, когда оно достигает строки SetOn выше

Мне также нужно иметь возможность не только установить значение, но и прочитать его

Ответы [ 4 ]

42 голосов
/ 23 мая 2011

Вы можете установить состояние UISwitch с помощью методов on или setOn:animated:, в зависимости от ваших требований.

Например: [yourUISwitch setOn:YES];

Для получения дополнительной информации см. Раздел «Установка состояния« Выкл. / Вкл. » Справочник по классам UISwitch .

ОБНОВЛЕНИЕ

Согласно документам,можно прочитать значение через [yourUISwitch isOn];

2 голосов
/ 25 июня 2014

Вы можете сделать это следующим образом:

//
//  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
1 голос
/ 21 апреля 2016

Существует быстрый код версии для установки и чтения состояния UISwitch

    //Change switch state
    self.mSwitchAccept.setOn(true, animated: true)
    //Get the switch state
    let switchState : Bool = self.mSwitchAccept.on
0 голосов
/ 28 марта 2014

Inorder, чтобы установить UIS, с которым вы должны использовать это [yourSwitch setOn: YES animated: YES];

Inorder, чтобы прочитать UISwitch, вам нужно получить его по состояниюпереключатель, который имеет логический тип NSLog (@ "Состояние переключателя:% d", [yourSwitch isOn]);

...