iOS开发之UITextField

UITextField的初始化及一些属性

 
 
  1. //姓名输入域 
  2. UITextField *nameField =[[UITextField alloc] initWithFrame:CGRectMake(30, 30, 200, 44)]; 
  3. nameField.tag = 100; 
  4. nameField.delegate = self; 
  5.     //默认文字 
  6.     nameField.placeholder = @"name"; 
  7.     nameField.font = [UIFont systemFontOfSize:16.0f]; 
  8.     nameField.textColor = [UIColor blackColor]; 
  9.     //输入框的背景图片(还可以选择设置背景颜色) 
  10.     nameField.background = [UIImage imageNamed:@"textFieldBackgroundImage"]; 
  11.     //nameField.backgroundColor = [UIColor lightGrayColor]; 
  12.     //清除按钮 
  13.     nameField.clearButtonMode = UITextFieldViewModeAlways; 
  14.     //键盘类型 
  15.     nameField.keyboardType = UIKeyboardTypeDefault; 
  16.     [self.view addSubview:nameField]; 
  17.     电话输入域 
  18.     UITextField *phoneField =[[UITextField alloc] initWithFrame:CGRectMake(30, nameField.frame.origin.y + nameField.bounds.size.height+10, 200, 44)]; 
  19.     phoneField.tag = 101; 
  20.     phoneField.delegate = self; 
  21.     phoneField.placeholder = @"phone"; 
  22.     phoneField.keyboardType = UIKeyboardTypeDecimalPad; 
  23.     phoneField.clearButtonMode = UITextFieldViewModeAlways; 
  24.     [self.view addSubview:phoneField]; 
  25.     //邮箱输入域 
  26.     UITextField *emailField =[[UITextField alloc] initWithFrame:CGRectMake(30, phoneField.frame.origin.y + phoneField.bounds.size.height + 10, 200, 44)]; 
  27.     emailField.tag = 102; 
  28.     emailField.delegate = self; 
  29.     emailField.placeholder = @"email"; 
  30.     emailField.keyboardType = UIKeyboardTypeEmailAddress; 
  31.     emailField.clearButtonMode = UITextFieldViewModeAlways; 
  32.     [self.view addSubview:emailField]; 

UITextField隐藏键盘

1.点击键盘的return来隐藏键盘

这个方法需要在相应的.h文件文件中实现UITextFieldDelegate协议。并在.m文件中添加如下方法

 
 
  1. - (BOOL)textFieldShouldReturn:(UITextField *)textField 
  2.     [textField resignFirstResponder]; 
  3.     return YES; 

2.点击界面空白处来隐藏键盘

这个方法的实现主要是给当前的view增加点击事件,并未点击事件增加相应的处理方法,此处是为了隐藏键盘,所以我们可以在点击事件对应的方法中让UITextField放弃第一响应者。

 
 
  1. - (void)dismissKeyboard 
  2.     NSArray *subViews = [self.view subviews]; 
  3.     for (id inputText in subViews) { 
  4.         if ([inputText isKindOfClass:[UITextField class]]) { 
  5.             if ([inputText isFirstResponder]) { 
  6.                 [inputText resignFirstResponder]; 
  7.             } 
  8.         } 
  9.     } 

为当前的view增加点击事件

 
 
  1. UITapGestureRecognizer *dismissKeyboardTap =[[UITapGestureRecognizer alloc]                                                initWithTarget:self                                                 action:@selector(dismissKeyboard)]; 
  2. [self.view addGestureRecognizer: dismissKeyboardTap]; 

UITextField--为内容增加校验

 
 
  1. (BOOL)textFieldShouldEndEditing:(UITextField *)textField 
  2.     switch (textField.tag) { 
  3.         case 100://name 
  4.         { 
  5.             NSLog(@"this is nameField"); 
  6.             //添加校验name的代码 
  7.             break; 
  8.         } 
  9.         case 101://phone 
  10.         { 
  11.             NSLog(@"this is phoneField"); 
  12.             //添加校验phone的代码 
  13.             break; 
  14.         } 
  15.         case 102://email 
  16.         { 
  17.             NSLog(@"this is emailField"); 
  18.             //添加校验email的代码 
  19.             break; 
  20.         }        
  21.         default: 
  22.             break; 
  23.     } 
  24.     return YES; 

本文链接:http://my.oschina.net/yulei1943/blog/293201

网页标题:iOS开发之UITextField
当前路径:http://www.shufengxianlan.com/qtweb/news14/325464.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联