Настройка и считывание iphone UISwitch
У меня есть представление, в котором его объекты устанавливаются из базы данных и также сохраняются в базе данных. UITextViews отлично работают, но я не могу понять, как установить состояние UISwitch.
Я могу изменить его в IB, но это не то, что мне нужно. Запись в БД имеет 0 или 1 логическое значение. Поэтому, если поле true, я хочу установить состояние UISwitch в положение ON.
Также, когда я сохраняю запись, мне нужно посмотреть на значение в представлении и, таким образом, установить это поле в моей таблице.
спасибо за любую помощь!!
EDIT: Это то, что я сделал до сих пор:
.h файл
@interface UserEdit : UIViewController {
IBOutlet UISwitch *male;
}
@property (nonatomic, retain) IBOutlet UISwitch *male;
.m файл
@synthesize male;
- (void)viewDidLoad {
[super viewDidLoad];
[male SetOn:NO];
}
приложение выгружается, когда оно попадает в строку SetOn выше
Мне также нужно иметь возможность не только устанавливать значение, но и читать его
Ответы
Ответ 1
Вы можете установить состояние UISwitch либо с помощью методов on
или setOn:animated:
, в зависимости от ваших требований.
например: [yourUISwitch setOn:YES];
Подробнее см. в разделе "Настройка состояния выключения/включения" Справочник по классу UISwitch.
UPDATE
В соответствии с документами вы можете прочитать значение через [yourUISwitch isOn];
Ответ 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
Ответ 3
Существует код быстрой версии для настройки и чтения состояния UISwitch
//Change switch state
self.mSwitchAccept.setOn(true, animated: true)
//Get the switch state
let switchState : Bool = self.mSwitchAccept.on
Ответ 4
Чтобы установить UIS, вам нужно использовать этот [yourSwitch setOn: YES анимированный: YES];
Чтобы прочитать UISwitch, вам нужно получить его по состоянию коммутатора, который является булевым типом NSLog (@ "Состояние переключателя:% d", [yourSwitch isOn]);