| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174 |
- //
- // LoginSettingViewController.m
- // RA Image
- //
- // Created by Jack on 2017/4/27.
- // Copyright © 2017年 USAI. All rights reserved.
- //
- #import "LoginSettingViewController.h"
- #import "ScannerViewController.h"
- @interface LoginSettingViewController ()<UITextFieldDelegate>
- @property (strong, nonatomic) IBOutlet UITextField *nameTextField;
- @property (strong, nonatomic) IBOutlet UIButton *internalCheckBtn;
- @property (strong, nonatomic) IBOutlet UITextField *internalTextField;
- @property (strong, nonatomic) IBOutlet UIButton *externalCheckBtn;
- @property (strong, nonatomic) IBOutlet UITextField *externalTextField;
- @property (nonatomic,copy) NSString *checkedAddress;
- @end
- @implementation LoginSettingViewController
- - (void)viewDidLoad {
- [super viewDidLoad];
- // Do any additional setup after loading the view.
- UIView *v = [UIView new];
- [self.view insertSubview:v atIndex:0];
-
- self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Done" style:UIBarButtonItemStylePlain target:self action:@selector(doneItemClick:)];
- self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Scan" style:UIBarButtonItemStylePlain target:self action:@selector(scanItemClick:)];
-
- [self loadAddress];
- [self registListenKeyboard];
-
- }
- - (void)didReceiveMemoryWarning {
- [super didReceiveMemoryWarning];
- // Dispose of any resources that can be recreated.
- }
- - (void)loadAddress {
- NSDictionary *addressDic = [self userDefaultsValue:kScanAddress];
- if (addressDic) {
- self.internalTextField.text = [addressDic objectForKey:@"internalAddress"];
- self.externalTextField.text = [addressDic objectForKey:@"externalAddress"];
- self.nameTextField.text = [addressDic objectForKey:@"name"];
- NSUInteger selectedIndex = [[addressDic objectForKey:@"selectedIndex"] integerValue];
- switch (selectedIndex) {
- case 0:
- case 1: {
- [self internalCheckBtnClick:self.internalCheckBtn];
- }
- break;
- case 2: {
- [self externalCheckBtnClick:self.externalCheckBtn];
- }
- break;
-
- default:
- break;
- }
- } else {
- [self internalCheckBtnClick:self.internalCheckBtn];
- }
- }
- #pragma mark - Button Click
- - (void)doneItemClick:(UIBarButtonItem *)sender {
- self.checkedAddress = nil;
- NSUInteger selectedIndex = 0;
- if (self.internalCheckBtn.selected) {
- self.checkedAddress = self.internalTextField.text;
- selectedIndex = 1;
- }
- if (self.externalCheckBtn.selected) {
- self.checkedAddress = self.externalTextField.text;
- selectedIndex = 2;
- }
-
- if (self.returnValue) {
- self.returnValue(self.checkedAddress);
- }
- __weak typeof(self) weakself = self;
- [self.navigationController dismissViewControllerAnimated:YES completion:^{
- if (weakself.checkedAddress.length) {
- // 保存信息
- NSString *name = weakself.nameTextField.text;
- NSString *internalAddr = weakself.internalTextField.text;
- NSString *externalAddr = weakself.externalTextField.text;
- NSMutableDictionary *addressDic = [NSMutableDictionary dictionary];
- if (internalAddr.length) {
- [addressDic setObject:internalAddr forKey:@"internalAddress"];
- }
- if (externalAddr.length) {
- [addressDic setObject:externalAddr forKey:@"externalAddress"];
- }
- if (name.length) {
- [addressDic setObject:name forKey:@"name"];
- }
- [addressDic setObject:@(selectedIndex) forKey:@"selectedIndex"];
- [weakself setUserDefaultsValue:addressDic forKey:kScanAddress];
- }
- }];
- }
- - (void)scanItemClick:(UIBarButtonItem *)sender {
-
- __weak typeof(self) weakself = self;
- ScannerViewController *scannerVC = [[UIStoryboard storyboardWithName:@"cam_scan" bundle:nil] instantiateViewControllerWithIdentifier:@"NewScannerViewController"];
- scannerVC.returnCode = ^(NSString *code) {
- // 扫描成功保存扫描值
- if (code.length) {
- if (weakself) {
- __strong typeof(weakself) strongself = weakself;
-
- NSArray *dataArr = [code componentsSeparatedByString:@";"];
- if (dataArr.count == 3) {
- NSString *name = [dataArr objectAtIndex:0];
- NSString *internalAddr = [dataArr objectAtIndex:1];
- NSString *externalAddr = [dataArr objectAtIndex:2];
-
- strongself.nameTextField.text = name;
- strongself.internalTextField.text = internalAddr;
- strongself.externalTextField.text = externalAddr;
- } else {
- strongself.nameTextField.text = nil;
- strongself.internalTextField.text = [dataArr firstObject];
- strongself.externalTextField.text = nil;
- }
-
- }
-
- }
- };
- [self presentViewController:scannerVC animated:YES completion:nil];
-
-
- }
- - (IBAction)internalCheckBtnClick:(UIButton *)sender {
- sender.selected = !sender.selected;
- if (sender.selected) self.externalCheckBtn.selected = NO;
- }
- - (IBAction)externalCheckBtnClick:(UIButton *)sender {
- sender.selected = !sender.selected;
- if (sender.selected) self.internalCheckBtn.selected = NO;
- }
- #pragma mark - TextField Delegate
- - (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
- self.currentFirstResponder = textField;
- return YES;
- }
- - (BOOL)textFieldShouldEndEditing:(UITextField *)textField {
- return YES;
- }
- @end
|