zoukankan      html  css  js  c++  java
  • 【实战】登录界面

    先看下整体的效果图:

    主要涉及的功能点有: 1、密码输入框要隐藏输入字符,以黑点代替 2、Login时会检查输入框,若输入不合法,弹窗提示用户 3、Reset会清空输入 4、点击界面空白地方的时候,能够收起输入键盘,防止挡住用户点击登陆。
    实现代码:
    1、对于要隐藏输入的文本框,我们只需要把其secureTextEntry的属性设置为TRUE就行了:

    Object-c代码 
    1. self.password.secureTextEntry=TRUE; 
    self.password.secureTextEntry=TRUE;

    2、Login功能会把用户输入保存到AppDelegate中,这样以后程序中需要的时候还可以取到:

    Object-c代码 
    1. -(IBAction)login:(id)sender{ 
    2.     NSString *userName = [self.userName.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; 
    3.     NSString *password = [self.password.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; 
    4.     AppDelegate *delegate = (AppDelegate *)[[UIApplication sharedApplication] delegate]; 
    5.     if(userName.length==0||password.length==0){ 
    6.         UIAlertView *alert= [[UIAlertView alloc] initWithTitle:@"Input invalid" message:@"UserName or Password is empty" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil]; 
    7.         [alert show]; 
    8.         [alert release]; 
    9.         return; 
    10.     } 
    11.      
    12.     [delegate.userState setObject:userName forKey:@"KUserName"]; 
    13.     [delegate.userState setObject:password forKey:@"KPassword"]; 
    14.      
    15.     AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate]; 
    16.     appDelegate.window.rootViewController = appDelegate.tabBar; 
    17.  
    3、在Reset时,除了清空UI控件中的内容,还需要清空AppDelegate中的内容:
    Object-c代码 
    1. -(IBAction)reset:(id)sender{ 
    2.     self.userName.text=@""
    3.     self.password.text=@""
    4.     AppDelegate *delegate = (AppDelegate *)[[UIApplication sharedApplication] delegate]; 
    5.     // 可以从应用程序的单例类对象中得到应用程序委托的对象
    6.     [delegate.userState setObject:@"" forKey:@"KUserName"]; 
    7.     [delegate.userState setObject:@"" forKey:@"KPassword"]; 
    注:所有与UI控件绑定的方法都需要返回类型IBAction
    4、实现隐藏键盘的原理就是通过调用输入框控件的resignFirstResponder,意思是放弃自己的第一响应者的身份,这样,键盘就会自动消失了。实现的时候,我们需要为界面绑定方法,在界面有touchDown事件发生的时候,调用backgroundTap方法:
    Object-c代码
    1. -(IBAction)backgroundTap:(id)sender 
    2.     NSLog(@"%@",@"touch screen"); 
    3.     [self.userName resignFirstResponder]; 
    4.     [self.password resignFirstResponder]; 
  • 相关阅读:
    Kafka 1.0.0集群安装
    java实现以docx格式导出
    基于java处理.docx格式的word合并
    基于java 合并.doc和docx格式的Word文件
    Docker版本Jenkins的使用
    Codeforces 1243 D 0-1 MST
    Public model for matrix
    Codeforces 1220 E Tourism
    Codeforces 1221 G Graph And Numbers
    Codeforces 1221 F Choose a Square
  • 原文地址:https://www.cnblogs.com/ejllen/p/3723695.html
Copyright © 2011-2022 走看看