UITextField 是iOS开发中用的非常多的一种控件,主要是供用户输入单行信息的。下面来详细介绍UITextField。

1、常用属性

<span style="font-size:14px;">// 设置和获取文本内容,默认nil
@property(nonatomic,copy) NSString *text;
// 设置文本内容颜色
@property(nonatomic,retain) UIColor *textColor;
// 设置字体
@property(nonatomic,retain) UIFont *font
// 对齐样式
@property(nonatomic) NSTextAlignment textAlignment;
// 设置风格,默认没有风格,需要设置
@property(nonatomic) UITextBorderStyle borderStyle;
// 提示用户输入内容文本
@property(nonatomic,copy) NSString *placeholder;
// 用户编辑时是否clear内容,默认为NO
@property(nonatomic) BOOL clearsOnBeginEditing;
// 自适应调整字体大小,默认为NO
@property(nonatomic) BOOL adjustsFontSizeToFitWidth;
// 设置代理
@property(nonatomic,assign) id<UITextFieldDelegate> delegate;
// 设置背景,需要将textField实例的风格设置为None
@property(nonatomic,retain) UIImage *background;
// 设置textField不可用时的背景图片
@property(nonatomic,retain) UIImage *disabledBackground;
// 设置是否可编辑
@property(nonatomic,readonly,getter=isEditing) BOOL editing;
// 清除按钮的模式,默认不出现
@property(nonatomic) UITextFieldViewMode clearButtonMode;
// 自定义左视图
@property(nonatomic,retain) UIView *leftView;
// 自定义左视图出现的模式
@property(nonatomic) UITextFieldViewMode leftViewMode;
// 不用系统键盘,自定义键盘
@property (readwrite, retain) UIView *inputView;
// 系统键盘和自定义键盘共存
@property (readwrite, retain) UIView *inputAccessoryView;
// 自动大写类型
@property(nonatomic) UITextAutocapitalizationType autocapitalizationType;
// 检查拼写是否正确
@property(nonatomic) UITextAutocorrectionType autocorrectionType;
// 修改键盘类型
@property(nonatomic) UIKeyboardType keyboardType;
// 修改返回类型
@property(nonatomic) UIReturnKeyType returnKeyType;
// 是否安全输入,比如用户输入密码
@property(nonatomic,getter=isSecureTextEntry) BOOL secureTextEntry;</span>

iOS中选中输入框会自动弹出键盘,但是如果需要关闭键盘则需要自己手动控制,一般关闭键盘,要么在点击returnKeyType的时候用代理方法关闭,或者点击真个View的空白区域来关闭。

关闭键盘的方法,点参照我的另一片文章-----IOS隐藏键盘的几种方式

2、常用的代理方法

<span style="font-size:14px;">// 将要开始输入时调用
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
NSLog(@"开始输入");
return YES;
}
// 将要输入结束时调用
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField {
NSLog(@"输入结束");
return YES;
}
// 清除文字按钮点击事件
- (BOOL)textFieldShouldClear:(UITextField *)textField {
NSLog(@"清除输入内容了");
return YES;
}
// 键盘上的return按钮
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
//隐藏输入键盘
[textField resignFirstResponder];
return YES;
}</span>

创建UITextField,如果用代码创建的话,实例代码如下:

<span style="font-size:14px;">UITextField *textfield = [[UITextField alloc]
initWithFrame:CGRectMake(20, 240, 200, 30)];
// 禁止首字母大写
textfield.autocapitalizationType = UITextAutocapitalizationTypeNone;
// 设置键盘类型
textfield.keyboardType = UIKeyboardTypeNamePhonePad;
// 输入框的边框类型
textfield.borderStyle = UITextBorderStyleRoundedRect;
// 设置委托代理
textfield.delegate = self;
// 键盘上的return按钮类型
textfield.returnKeyType = UIReturnKeyDone;
// 是否安全输入,是的话,输入内容将为星号
textfield.secureTextEntry = NO;
// 清除按钮模式
textfield.clearButtonMode = UITextFieldViewModeAlways;
// 输入框中的文本颜色
textfield.textColor = [UIColor redColor];
// 输入框的字体
textfield.font = [UIFont boldSystemFontOfSize:14];</span>

UITextField 好像用法比较简单,唯一需要注意的就是键盘的隐藏的,其他的特殊功能,可能还没用到吧,以后遇到相关问题再来补充记录。

iOS开发之五:常用控件--UITextField的使用的更多相关文章

  1. IOS开发中设置控件内容对齐方式时容易混淆的几个属性

    IOS开发中四个容易混淆的属性: 1. textAligment : 文字的水平方向的对齐方式 1> 取值 NSTextAlignmentLeft      = 0,    // 左对齐 NST ...

  2. IOS开发自定义CheckBox控件

    IOS本身没有系统的CheckBox组件,但是实际开发中会经常用到,所以专门写了一个CheckBox控件,直接上代码 效果图: UICheckBoxButton.h文件如下: #import #imp ...

  3. ios开发中button控件的属性及常见问题

    最为最基本的控件,我们必须对button的每个常用属性都熟练应用: 1,使用之前,必须对按钮进行定义,为乐规范,在@interface ViewController (){}中进行定义,先定义后使用. ...

  4. iOS 开发 ZFUI framework控件,使布局更简单

    来自:http://www.jianshu.com/p/bcf86b170d9c 前言 为什么会写这个?因为在iOS开发中,界面的布局一直没有Android布局有那么多的方法和优势,我个人开发都是纯代 ...

  5. iOS开发基础-UITableView控件简单介绍

     UITableView 继承自 UIScrollView ,用于实现表格数据展示,支持垂直滚动.  UITableView 需要一个数据源来显示数据,并向数据源查询一共有多少行数据以及每一行显示什么 ...

  6. iOS开发中UIDatePicker控件的使用方法简介

    iOS上的选择时间日期的控件是这样的,左边是时间和日期混合,右边是单纯的日期模式. 您可以选择自己需要的模式,Time, Date,Date and Time  , Count Down Timer四 ...

  7. 【转】IOS中各种常用控件的默认高度,很全

    1.状态栏 状态栏一般高度为20像素,在打手机或者显示消息时会放大到40像素高,注意,两倍高度的状态栏在好像只能在纵向的模式下使用.如下图   用户可以隐藏状态栏,也可以将状态栏设置为灰色,黑色或者半 ...

  8. iOS开发无第三方控件的援助达到的效果侧边栏

    最近的研究iOS程序侧边栏.渐渐的发现iOS该方案还开始采取风侧边栏格该,QQ,今日头条,Path(Path运营商最早的侧边栏app该,效果说成是Path效果),所以就研究了下. 然后发现Git Hu ...

  9. 【Qt开发】常用控件--QSpinBox和QDoubleSpinBox

    QSpinBox和QDoubleSpinBox 是UI设计常用的控件. QSpinBox可用于显示和输入整数,并可以在显示框中添加前缀或后缀. QDoubleSpinBox可用于显示和输入小数,并可以 ...

随机推荐

  1. Tensorflow从入门到精通之——Tensorflow基本操作

    前边的章节介绍了什么是Tensorflow,本节将带大家真正走进Tensorflow的世界,学习Tensorflow一些基本的操作及使用方法.同时也欢迎大家关注我们的网站和系列教程:http://ww ...

  2. VGG网路结构

    VGG网络的基本结构 如图所示,从A到E网络的深度是逐渐增加的,在A中有11个权重层(8个卷积层,3个全连接层),在E中有19个权重层(16个卷积层,3个全连接层),卷积层的宽度是十分小的,开始时在第 ...

  3. sqlserver 按照特定值排序查询结果

    select * from t_ss_student order by case when xm like '林%' then 1 else 2 end asc; 姓林的会排在前面

  4. UMAIL安装教程

    UMAIL安装教程 一.UMAIL虚拟机的创建与安装 首先在VM中选择新建虚拟机 选择下一步 选择稍后安装操作系统 选择Linux系统 版本CentOS 7 64位 选择名称与安装位置 选择下一步 选 ...

  5. kafka topic 相关操作

    1.列出集群中的topic bin/kafka-topics.sh --zookeeper spark1:2181,spark2:2181,spark3:2181 --list 2.创建topic r ...

  6. Spring boot 整合 Mybatis + Thymeleaf开发web(二)

    上一章我把整个后台的搭建和逻辑给写出来了,也贴的相应的代码,这章节就来看看怎么使用Thymeleaf模板引擎吧,Spring Boot默认推荐Thymeleaf模板,之前是用jsp来作为视图层的渲染, ...

  7. EXISTS的使用详解

    .exists的使用场合: exists 用于只能用于子查询,可以替代in,若匹配到结果,则退出内部 查询,并将条件标志为true,传回全部结果资料,in 不管匹配到匹配不到都 全部匹配完毕,使用ex ...

  8. ACM Strange fuction

    现在,这里有一个功能:  F(x) = 6 * x^7+8*x^6+7*x^3+5*x^2-y*x (0 <= x <=100) 当x在0到100之间时,你能找到最小值吗? 输入 第一行包 ...

  9. Android仅2步实现 滚粗 汉堡导航栏效果~ 全新底部导航交互(滑动隐藏)

    本文同步自wing的地方酒馆 布吉岛大家有木有看这一篇文章,再见,汉堡菜单,我们有了新的 Android 交互设计方案 本库下载地址:https://github.com/githubwing/Bye ...

  10. 对 /dev/shm 认识

    一./dev/shm理论 /dev/shm/是linux下一个非常有用的目录,因为这个目录不在硬盘上,而是在内存里.因此在linux下,就不需要大费周折去建 ramdisk,直接使用/dev/shm/ ...