iOS私人通讯录
来源:互联网 发布:淘宝网发空包怎么发? 编辑:程序博客网 时间:2024/05/19 21:59
搭建好了界面,先来看登录界面LWLoginViewController
声明了两个输入框和一个登录按钮
@interface LWLoginViewController ()<UITextFieldDelegate>
@property (weak, nonatomic) IBOutletUITextField *loginText;
@property (weak, nonatomic) IBOutletUITextField *passwordText;
@property (weak, nonatomic) IBOutletUIButton *loginBtn;
@end
1.在LWLoginView中 两个文本框中实现一下代理方法
在.m文件中实现如下代码:
- (void)viewDidLoad {
[superviewDidLoad];
self.loginText.delegate =self;
}
#pragma 实现协议方法
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
return NO;
}
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
return NO;
}
可以看到 password输入框是可以点击的,但是login输入框是不可以点击的
下面言归正传 首先,实现输入用户名和密码 点击登录功能 实现如下代码:
- (void)viewDidLoad {
[superviewDidLoad];
//1.拿到通知中心
NSNotificationCenter *center = [NSNotificationCenterdefaultCenter];
//2.注册通知
[center addObserver:selfselector:@selector(TextChanged)name:UITextFieldTextDidChangeNotificationobject:self.loginText];
[center addObserver:selfselector:@selector(TextChanged)name:UITextFieldTextDidChangeNotificationobject:self.passwordText];
}
- (void)TextChanged{
//判断是否同时输入了账号密码
self.loginBtn.enabled = (self.loginText.text.length && self.passwordText.text.length);
}
- (IBAction)hiddenKeyBoardBtn {
if (self.loginText.isFirstResponder) {
[self.loginTextresignFirstResponder];
}else{
[self.passwordTextresignFirstResponder];
}
}
在ViewDidload里面 ,注册了两个通知来监听文本框的内容是否发生了改变,在selector实现的方法里,我们做了一个操作,只有当两个文本框的内容都不为空时,登录按钮的enable才为YES 另外 点击隐藏键盘的按钮 键盘便会判断当前两个文本框到底谁是第一响应着 然后隐藏 点击登录 跳转到联系人界面,这个操作是在storyboard里面做的,也就是无条件的跳转PS 在模拟器上运行的时候 如果不出现键盘 可以按cmd+shift +k 切换模拟器键盘 和电脑键盘
下面实现下记住密码 和自动登录的功能 实现代码如下 :
/*两个滑块值发生改变都调用这个方法*/
[self.remPWDaddTarget:selfaction:@selector(PWDSwitchChanged)forControlEvents:UIControlEventValueChanged];
[self.autoLoginaddTarget:selfaction:@selector(AutoSwitchChanged)forControlEvents:UIControlEventValueChanged];
/*当Switch改变的时候*/
- (void)PWDSwitchChanged{
/*记住密码滑块 关*/
if (!self.remPWD.isOn) {
NSLog(@"没有记住密码");
self.autoLogin.on =NO;
}
}
- (void)AutoSwitchChanged{
/*自动登录开*/
if (self.autoLogin.isOn) {
NSLog(@"自动登录打开");
self.remPWD.on =YES;
}
}
- (IBAction)remChanged:(UISwitch *)sender {
/*记住密码滑块 关*/
if (!self.remSwitch.isOn) {
NSLog(@"没有记住密码");
self.autoSwitch.on =NO;
}
}
- (IBAction)autoChanged:(UISwitch *)sender {
/*自动登录开*/
if (self.autoSwitch.isOn) {
NSLog(@"自动登录打开");
self.remSwitch.on =YES;
}
}
- (IBAction)remChanged:(UISwitch *)sender {
/*记住密码滑块 关*/
if (!self.remSwitch.isOn) {
NSLog(@"没有记住密码");
// self.autoSwitch.on = NO;
[self.autoSwitchsetOn:NO animated:YES];
}
}
- (IBAction)autoChanged:(UISwitch *)sender {
/*自动登录开*/
if (self.autoSwitch.isOn) {
NSLog(@"自动登录打开");
// self.remSwitch.on = YES;
[self.remSwitchsetOn:YES animated:YES];
}
}
- iOS私人通讯录
- 私人通讯录Demo - iOS
- iOS开发 - 私人通讯录实例
- 私人通讯录
- 私人通讯录
- iOS开发 - 第02篇 - UI进阶 - 08 - 私人通讯录
- iOS学习项目(19-私人通讯录①)
- 私人通讯录思路
- No4 私人通讯录
- 小结:私人通讯录
- 小结:私人通讯录知识点
- 私人通讯录功能详细实现
- UINavigationController实例之私人通讯录
- 自建项目分享-私人通讯录
- 【案列】私人通讯录01
- iOS开发UI篇—实现一个私人通讯录小应用(一)
- iOS开发UI篇—实现一个私人通讯录小应用(二)
- iOS学习项目(19-私人通讯录②-归档的学习)
- Android中的Dialog和Popupwindow的区别
- HDOJ 题目1255 覆盖的面积(线段树+扫描线)
- 第七周项目五排队模拟看病
- JS控制div显示隐藏
- 黑马程序员——java中面向对象的三大特征
- iOS私人通讯录
- iOS开发网络数据之AFNetworking使用
- linux中fork()函数详解(原创!!实例讲解) .
- HDU 2824 The Euler function
- ZOJ 3911 Prime Query
- WEB前端性能分析--工具篇
- Wayland与Weston简介
- 八大排序算法
- HDU 1114 Piggy-Bank