监听的实现

登陆的时候有用户名跟密码,只有两者全部输入时登陆按钮才会变亮才能点击登陆,否则为灰,不能登陆。这时候就用到了监听

-(void)viewDidLoad

{

//监听文本输入框的变化

//1.拿到通知中心

NSNotificationCenter * center = [NSNotificationCenter defaultCenter];

//2.注册监听 注意点:一定要写上通知的发布者 accountField

[center addObserver:self selector:@selector(textChange) name:UITextFIeldTextDidChangeNotification Object:seif.accountField];

[senter addObserver:self selector:@selector(textChange) name:UITextFieldTextDidChangeNotification Object:self.pwdField];

}

-(void) textChange

{

//1.判断是否同时输入了账号和密码

if (self.accountField.text.length && self.pwdField.text.length )

  {

     //2.让登陆按钮可用

      self.loginBtn.enabled = YES;

  }

else

  {

   self.loginBtn.enabled = NO;

  }

//等同于上面的代码

self.loginBtn.enabled = (self.accountField.text.length > 0 &&self.pwdField.text.length > 0);

}

-(IBAction)remPwdchange:(id)sender

{

  //1.判断是否记住密码

if (self.remPwdSwitch.isOn == NO)

    {

       //2.如果取消记住密码取消自动登录

    [self.autoLoginSwitch setOn:ON animated:YES];

   }

}

-(IBAction)autoLoginchange:(id)sender

{

 //1.判断是否自动登录

if(self.autoLoginSwitch.isOn)

   {

   //2.如果自动登录就记住密码

    [self.remPwdSwitch setOn:YES animated:YES];

   }

}


跳转分为手动执行segue和自动跳转

-(IBAction)loginOnclick:(UIButton *)sender

{

//添加蒙版禁止用户操作,并且提示用户正在登陆 这里用到了第三方类库,已经封装好的下载直接拖进工程,加上头文件

[MBProgressHUD showMessage:@"正在拼命加载......"];

//登录时需要一段时间连接服务器判断,这里用时间代替

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t) (1.5 * NSEC_PER_SEC)),dispatch_get_main_queue(), ^{

//1.判断账号是否正确

if (![self.accountField.text isEqualToString:@"su"]){

//登陆成功后移除蒙版

[MBProgressHUD hideHUD];

[MBProgressHUD showErroe:@"用户名不正确!"];

return;

}

if (![self.pwdField.text isEqualToString:@"123"]){

//登陆成功后移除蒙版

[MBProgressHUD hideHUD];

[MBProgressHUD showError:@"密码不正确!"];

return;

}

//登陆成功后移除蒙版

[MBProgressHUD hideHUD];

//如果正确,跳转到联系人界面(手动执行segue) login2contatcs是在视图segue添加的身份

[self performSegueWithIdentifier:@"login2contatcs" sender:nil];

});

}

//在segue跳转之前,会传入performSegueWithIdentifier方法创建好的segue对象

-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{

//1.拿到目标控制器

UIViewController * vc = segue.destinationViewController;

//2.设置目标控制器

//vc.navitionItem.title = [NSString stringWithFormat:@"%@ 的联系人列表",self.accountField.text];

//vc.title = vc.navigationItem.title;

vc.title = [NSString stringWitnFormat;@"%@ 的联系人列表",self.accountField.text];

}

-(void)dealloc

{

   [[NSNotificationCenter defaultCenter] removeObserver:self];

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值