iOS实现记住密码功能
来源:互联网 发布:网卡mac地址修改 编辑:程序博客网 时间:2024/05/19 05:40
自己发的第一篇博客,想要介绍一些开发过程中的技术问题,里边有借鉴别人的部分和自己的修改理解,无论怎样,希望对大家有帮助。
首先,要明白iOS中没有checkbox,所以想实现该效果需要用两个一样的照片,一个有勾,一个没有,使其效果像checkbox一样。
具体的实现如下:
1.找两个图片,并分别命名为:check_off.png和check_on.png
2.声明一个可以存放图片的UIImageView,并设置其属性
3.设置手势,判断其是否需要记住密码
4.定义读写.plist文件的操作
另外注意一点,此处的.plist文件不是自己定义的而是在沙盒中的,想看看有没有写进去可以把文件的路径:NSLog(@”文件路径:%@”,path)出来,然后查找文件即可。
代码如下:
.h文件
BOOL recordPwd;
.m文件
@synthesize recordBtn;
recordBtn = [[UIImageViewalloc]init];//用图片做的checkbox
recordBtn.frame =CGRectMake(iconWidth-100,245,20,20);
recordBtn.userInteractionEnabled =YES;
UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizeralloc]initWithTarget:selfaction:@selector(recoredBtnClick)];//添加了一个手势,单击触发事件
tapGesture.numberOfTapsRequired =1;//点击一下
[recordBtnaddGestureRecognizer:tapGesture];//这里注意是在UIImageView上添加手势
[selfreadUserInfoFromFile];//在图片初始化之前先读取plist文件,判断recordPwd
if (recordPwd) { recordBtn.image = [UIImageimageNamed:@"check_on.png"];}else{ recordBtn.image = [UIImageimageNamed:@"check_off.png"];}[self.viewaddSubview:recordBtn];
(void)recoredBtnClick//点击是否记住密码
{if (recordPwd) {
recordBtn.image = [UIImageimageNamed:@”check_off.png”];
recordPwd = NO;
}
else{
recordBtn.image = [UIImageimageNamed:@”check_on.png”];
recordPwd =YES;
}
[selfwritePasswordToFile];
}
//把是否记住密码信息写进userRemember.plist文件
- (void)writePasswordToFile
{
NSArray *paths =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);NSString *documentsDirectory = [pathsobjectAtIndex:0];NSString *path = [documentsDirectorystringByAppendingPathComponent:@"userRemember.plist"];NSMutableDictionary *data = [[NSMutableDictionary alloc]init];//字典初始化,注意这里的init方法,跟-(void)readUserInfoFromFile方法中的字典初始化方法不同。if (nameTextField.text.length != 0||pswTextField.text.length != 0) {//如果输入不为空 [data setObject:nameTextField.text forKey:USERNAME];//用户名和密码存入字典,这里的key用了宏定义,其实@"recordPwd"也可以用,在文中多次使用比较省事 [data setObject:pswTextField.text forKey:PASSWORD];}[data setObject:[NSNumbernumberWithBool:recordPwd] forKey:@"recordPwd"];[data writeToFile:path atomically:YES];NSLog(@"是否记住密码信息==%@",data);
}
- (void)readUserInfoFromFile//从userRemember.plist读取数据
{
NSArray *paths =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
NSString *documentsDirectory = [pathsobjectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@”userRemember.plist”];
//以上的三句话获取沙盒中user.plist的路径。
NSLog(@”文件路径:%@”,path);
NSMutableDictionary *saveStock = [[NSMutableDictionary alloc]initWithContentsOfFile:path];
//从该路径读取文件,注意这里是读取,跟创建plist的init方法不同,看下面就知道了
recordPwd = [[saveStock objectForKey:@”recordPwd”]boolValue];
//@”recordPwd”是一个key,存到字典何从字典中取值都要用到
if (!recordPwd)
{
nameTextField.text =@”“;
pswTextField.text = @”“;
//[saveStock removeAllObjects];//移除字典内所有元素
}
else{
nameTextField.text = [saveStockobjectForKey:USERNAME];
pswTextField.text = [saveStockobjectForKey:PASSWORD];
[pswTextField setSecureTextEntry:YES];//密码设置为暗文
}
NSLog(@”nameTextField.text=%@,pswTextField.text=%@”,nameTextField.text,pswTextField.text);
NSLog(@”读取saveStock=%@”,saveStock);
}
- iOS实现记住密码功能
- 实现记住密码功能
- javaweb实现记住密码功能
- C#记住密码功能实现
- SharedPreference实现记住密码功能
- sharepreference实现记住密码功能
- MiniTwitter记住密码功能实现
- cookie实现记住密码功能
- java实现记住密码功能
- SharedPreferences实现记住密码功能
- jquery实现记住密码功能
- jquery实现记住密码功能
- 在IOS中使用KeychainItemWrapper保存用户名和密码实现记住密码功能
- 在IOS中使用KeychainItemWrapper保存用户名和密码实现记住密码功能
- 在IOS中使用KeychainItemWrapper保存用户名和密码实现记住密码功能
- 在IOS中使用KeychainItemWrapper保存用户名和密码实现记住密码功能
- 在IOS中使用KeychainItemWrapper保存用户名和密码实现记住密码功能
- 在IOS中使用KeychainItemWrapper保存用户名和密码实现记住密码功能
- 设计模式之装饰模式
- PAT--1054. The Dominant Color
- 葵花宝典 十 servlet jsp
- 机器学习(聚类[一])
- C语言考试练习题_排列
- iOS实现记住密码功能
- 利用Python实现在同一网络中的本地文件共享
- 多线程问题
- Java实现多线程的两种方式
- Struts2--请求的配置与注解
- 如何用几行代码读取目录下所有的图片
- IntelliJ Idea 常用快捷键列表
- c scanf 函数问题
- 《剑指offer》二进制中1的个数