然后根据是否记住密码按钮的状态来判断是否要为用户名和密码设置值,如果是记住密码,那么需要取出需要记住的密码,并且为这两个TextField赋值。
在viewDidLoad方法中添加如下代码:
[plain] view plain copy ///检查记住密码标记,如果为YES,那么就读取用户名和密码并为TextField赋值 ///并将图标背景设置为记住状态,如果为NO,那么设置背景为未记住状态 if(userDefaults.boolForKey("isRememberPsd")) { userDefaults.setBool(true, forKey: "isRememberPsd") isRemberPW.setBackgroundImage(UIImage(named: "pwd_checked.png"), forState: .Normal) self.UserName.text = userDefaults.stringForKey("userName") self.PassWord.text = userDefaults.stringForKey("userPsw") }else if(!userDefaults.boolForKey("isRememberPsd")) { userDefaults.setBool(false, forKey: "isRememberPsd") self.isRemberPW.setBackgroundImage(UIImage(named:"pwd_unchecked.png"), forState: .Normal) } 在登录按钮的点击事件中添加如下代码:
[plain] view plain copy if(userDefaults.boolForKey("isRememberPsd")) { userDefaults.setValue(userName, forKey: "userName") userDefaults.setValue(userPsw, forKey: "userPsw") }
如果为记住密码的状态,那登录前需要将用户名和密码写入到本地。 记住密码按钮的点击事件的处理: [plain] view plain copy //读取本地的key为“isRememberPsd”的状态,YES代表记住密码,NO代表不记住 ///如果YES,再次点击就需要将图片设置为未记住的样式并改变key的值。 if(userDefaults.boolForKey("isRememberPsd")) { self.isRemberPW.setBackgroundImage(UIImage(named:"pwd_unchecked.png"), forState: .Normal) userDefaults.setBool(false, forKey: "isRememberPsd") } else { self.isRemberPW.setBackgroundImage(UIImage(named:"pwd_checked.png"), forState: .Normal) userDefaults.setBool(true, forKey: "isRememberPsd") } userDefaults.synchronize() 这样一个基本的记住密码,并且再下次登录时会自动的为其写入用户名和密码的功能就实现了