码迷,mamicode.com
首页 > 其他好文 > 详细

UI控件之UITextField

时间:2018-08-07 18:54:31      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:用法   监听   系统   image   alt   ext   配置   uiimage   自动   

一、作用

1.UILabel用于显示文本信息,而UITextField和UITextView用于接收用户输入

2.UITextField只能输入一行,而UITextView能输入多行

 

二、属性和方法

1.第一响应者(firstResponder)

1??概念:当用户点击一个UITextField、UITextView表明需要输入数据,点击的这个控件就会成为第一响应者,系统就会自动弹出一个键盘

2??用法:

becomeFirstResponder成为第一响应者:弹出键盘

 

//弹出键盘
[self.nameTextField becomeFirstResponder];

 

 

resignFirstResponder 取消第一响应者:隐藏键盘

//隐藏键盘
[self.nameTextField resignFirstResponder];

 

2.keyboardType 更改键盘类型

 具体的值在接口文档里面找

 //设置键盘的类型
  _nameTextFiled.keyboardType = UIKeyboardTypeDefault;

 

3.text 显示的内容

_nameTextField.text = @"123";

 

4.placeholder 默认提示内容,开始输入的时候就自动消失

_nameTextField.placeholder = @"name";

 

5.background设置背景图片,当borderStyle为roundRect的时候无效

_nameTextField.background = [UIImage imageNamed:@"1"];

 

6.borderStyle 外框的风格

//设置边框类型
_nameTextField.borderStyle = UITextBorderStyleLine;
    
 //设置边框颜色 通过layer层控制
 _nameTextField.layer.borderColor = [UIColor greenColor].CGColor;
 _nameTextField.layer.borderWidth = 1;

 

7.监听事件/行为 delegate 协议:<UITextFieldDeledate>

1??配置是否可以输入

//配置是否可以输入,yes可以,可以成为第一响应者,no不行
//当textField becomeFirstresponser之前会调用
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
    return  YES;
}

2??开始编辑了,点击输入框,即将开始输入内容

//开始编辑了,点击输入框,即将开始输入内容
- (void)textFieldDidBeginEditing:(UITextField *)textField{
    
}

3??配置是否可以取消第一响应者,是否可以停止输入内容

//当textField resignFirstresponser之前会调用,yes可以隐藏键盘,no不能隐藏,继续输入
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField{
    return  YES;
}

4??停止编辑

//停止编辑了
- (void)textFieldDidEndEditing:(UITextField *)textField{
    
}

5??键盘上的return按钮被点击了(常用

//键盘上的return被点击了 (常用)
- (BOOL)textFieldShouldReturn:(UITextField *)textField{
    [self.nameTextField resignFirstResponder];
    return YES;
}

6??实时监听textField上文本内容的改变(在解锁密码时使用)(重要

//实时监听textField上文本内容的改变
//range
//string 新输入的字符
//即将用新输入的字符来拼接字符串,注意还没有拼接
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string;{ NSLog(@"%lu %lu %@", range.location, range.length, string); return YES; }

注:先在终端打印string,然后string在textField上显示

输入12345技术分享图片

删除技术分享图片

 

刚开始位置为空,所以length为0

 

UI控件之UITextField

标签:用法   监听   系统   image   alt   ext   配置   uiimage   自动   

原文地址:https://www.cnblogs.com/jianze/p/9438499.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!