소스 검색

1.修改RA Image,应用启动时如果没有选择Address则显示设置界面。

Pen Li 9 년 전
부모
커밋
e36159f0fb

BIN
RA Image/RA Image.xcodeproj/project.xcworkspace/xcuserdata/macmini1.xcuserdatad/UserInterfaceState.xcuserstate


+ 21 - 17
RA Image/RA Image/LoginSettingViewController.m

@@ -65,7 +65,9 @@
             default:
                 break;
         }
-    } 
+    } else {
+        [self internalCheckBtnClick:self.internalCheckBtn];
+    }
 }
 
 
@@ -83,27 +85,29 @@
         selectedIndex = 2;
     }
     
-    if (self.checkedAddress && self.returnValue) {
+    if (self.returnValue) {
         self.returnValue(self.checkedAddress);
     }
     __weak typeof(self) weakself = self;
     [self.navigationController dismissViewControllerAnimated:YES completion:^{
-        // 保存信息
-        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"];
+        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];
         }
-        [addressDic setObject:@(selectedIndex) forKey:@"selectedIndex"];
-        [weakself setUserDefaultsValue:addressDic forKey:kScanAddress];
     }];
 }
 

+ 28 - 3
RA Image/RA Image/LoginViewController.m

@@ -15,7 +15,9 @@ static NSString *kRememberLogin = @"RememberLogin";
 static NSString *kLoginUserInfo = @"UserInfo";
 
 @interface LoginViewController ()<UITableViewDelegate,UITableViewDataSource,LoginSwitchDelegate,UITextFieldDelegate>
-
+{
+    BOOL _autoShowSetting;
+}
 @property (strong, nonatomic) IBOutlet UITableView *loginTable;
 @property (nonatomic,strong) NSDictionary *dataDic;
 @property (strong, nonatomic) IBOutlet UILabel *versionLabel;
@@ -33,7 +35,7 @@ static NSString *kLoginUserInfo = @"UserInfo";
 - (void)viewDidLoad {
     [super viewDidLoad];
     // Do any additional setup after loading the view.
-    
+    _autoShowSetting = NO;
     [self initUserData];
     [self loadData];
     [self.loginTable reloadData];
@@ -48,6 +50,14 @@ static NSString *kLoginUserInfo = @"UserInfo";
     self.versionLabel.text = [NSString stringWithFormat:@"Ver: %@.%@",short_version,build];
 }
 
+- (void)viewDidAppear:(BOOL)animated {
+    [super viewDidAppear:animated];
+    if (_autoShowSetting) {
+         [self settingBtnClick:self.settingBtn];
+        _autoShowSetting = NO;
+    }
+}
+
 
 - (void)didReceiveMemoryWarning {
     [super didReceiveMemoryWarning];
@@ -56,6 +66,15 @@ static NSString *kLoginUserInfo = @"UserInfo";
 
 #pragma mark - Private
 
+- (void)setAddress:(NSString *)address {
+    _address = address;
+    if (!address.length) {
+        _autoShowSetting = YES;
+    } else {
+        _autoShowSetting = NO;
+    }
+}
+
 - (void)loadData {
     NSString *path = [[NSBundle mainBundle] pathForResource:@"login.json" ofType:nil];
     NSData *data = [NSData dataWithContentsOfFile:path options:NSDataReadingMappedIfSafe error:nil];
@@ -75,6 +94,12 @@ static NSString *kLoginUserInfo = @"UserInfo";
         }
     }
     
+    if (!self.address.length){
+        _autoShowSetting = YES;
+        return;
+    }
+    _autoShowSetting = NO;
+    
     NSDictionary *userData = [self userDefaultsValue:kLoginUserInfo];
     if (userData) {
 //        self.address = [userData objectForKey:@"address"];
@@ -223,7 +248,7 @@ static NSString *kLoginUserInfo = @"UserInfo";
     LoginSettingViewController *loginSettingVC = [[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"LoginSettingViewController"];
     __weak typeof(self) weakself = self;
     loginSettingVC.returnValue = ^(NSString *address) {
-        if (weakself && address.length) {
+        if (weakself) {
             __strong typeof(weakself) strongself = weakself;
             strongself.address = address;
             [strongself.loginTable reloadData];