学习iOS界面设计也有段时间了,每次写到一些基础控件(如:UILable 、 UITextField)的时候就深觉应该总结一个函数来实现这些基础控件的属性设置,所以下面就是我对UITextField的学习:

一、定义一个输入控件

 // 输入控件
@property (nonatomic,strong) UITextField *textField;

二、在viewDidLoad中实例化

1 - (void)viewDidLoad {
2     [super viewDidLoad];
3     // 实例化输入框
4     _textField = [[UITextField alloc]initWithFrame:CGRectMake(40, 100, 295, 40)];
5     // 设置textField的属性
6     [self propertyOfTextField:_textField];
7     // 添加到父视图
8     [self.view addSubview:_textField];
9 }

三、UITextField的常用属性设置

 1 #pragma mark - UITextField属性设置
 2 - (void)propertyOfTextField:(UITextField *)textField {
 3     // 设置边框样式
 4     textField.borderStyle = UITextBorderStyleRoundedRect;
 5     // 设置占位符
 6     textField.placeholder = @"占位符";
 7     // 设置光标的颜色
 8     textField.tintColor = [UIColor redColor];
 9     // 设置输入框背景颜色
10     textField.backgroundColor = [UIColor lightGrayColor];
11     // 设置text字体的颜色
12     textField.textColor = [UIColor orangeColor];
13     // 清除模式
14     textField.clearButtonMode = UITextFieldViewModeWhileEditing;
15     // 是否安全输入
16     textField.secureTextEntry = NO;
17     // 设置字体大小
18     textField.font = [UIFont systemFontOfSize:24];
19     // 文本对齐方式
20     textField.textAlignment = NSTextAlignmentLeft;
21     // 是否纠错(即:联想)
22     textField.autocorrectionType = UITextAutocorrectionTypeNo;
23     // 首字母是否大写
24     textField.autocapitalizationType = UITextAutocapitalizationTypeNone;
25     // 再次编辑时是够清空
26     textField.clearsOnBeginEditing = YES;
27     // 设置键盘样式
28     textField.keyboardAppearance = UIKeyboardAppearanceDark;
29     // 设置return按钮的样式
30     textField.returnKeyType = UIReturnKeySearch;
31     // 设置代理
32     textField.delegate = self;
33 }

四、UITextFieldDelegate 方法

 1 #pragma mark - <UITextFieldDelegate> method
 2 // 1. 是否允许开始编辑
 3 - (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
 4     return YES;
 5 }
 6
 7 // 2. 已经开始编辑时触发
 8 - (void)textFieldDidBeginEditing:(UITextField *)textField {
 9
10 }
11
12 // 3. 是否允许结束编辑
13 - (BOOL)textFieldShouldEndEditing:(UITextField *)textField {
14     return YES;
15 }
16
17 // 4. 已经结束编辑是触发
18 - (void)textFieldDidEndEditing:(UITextField *)textField {
19
20 }
21
22 // 5. 是否允许改变文本输入框字符的长度  可以得到用户输入的字符
23 - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
24
25     // 可在限制用户输入字符的长度以及敏感字符的输入等
26     return YES;
27 }
28
29 // 6. 是否允许清除
30 - (BOOL)textFieldShouldClear:(UITextField *)textField {
31     return YES;
32 }
33
34 // 7. 是否响应return键
35 - (BOOL)textFieldShouldReturn:(UITextField *)textField {
36
37     // 用户点击键盘上的return键会触发该方法,所以可在此处完成点击return的一些操作
38     return YES;
39 }

五、收起键盘的方法:

1  // 收键盘1 -- 文本失去第一响应
2     [textField resignFirstResponder];
3  // 收键盘2  -- 界面停止编辑
4     [self.view endEditing:YES];

六、拓展:除了上述一些常用的属性外,还有其他属性也需要了解

  • minimumFontSize :自动缩小显示的最小字体
  • adjustsFontSizeToFitWidth:是否自动调整字体大小
  • contentVerticalAlignment:垂直对齐方式
  • inputAccessoryView:输入附属视图
  • inputView:输入视图(键盘视图)

有些时候要自定义键盘的话,就可以给inputAccessoryView 和inputView两个属性赋值,如果是自定义UITextField,则需要重写这两个属性的getter方法。

以上是我对UITextField的一些总结,如有写得不准确或不完善的地方,还请指正补充,谢谢!!!

转载于:https://www.cnblogs.com/ciciCassie/p/5882167.html

iOS界面设计之基础控件的学习 --- UITextField相关推荐

  1. Winform UI界面设计例程——TreeView控件

    今天我们来探讨下treeView的使用 treeView控件是树形菜单,非常易于展示层次结构和对其进行导航,我们电脑的资源管理器就是使用了treeView控件进行目录和磁盘的导航. TreeView控 ...

  2. iOS小白之路...iOS中基础控件的使用

    UIlabel是iOS开发中应用比较广泛的一个基础控件. uilabel最重要的功能是为我们提供文本展示. uilabel有哪些常用的属性. >uilabel.text设置文本标签展示文字 &g ...

  3. 【 iOS 应用开发 】 UIKit 控件 ( 代码生成控件 | UIView 属性方法 | Storyboard | Bundle | Property List | 动画 | 图片内存优化 )

    文章目录 一. 代码生成控件 1. 创建设置项目 ( 1 ) 创建项目 ( ① 选择 Create a new Xcode project | ② 创建 Single View Application ...

  4. 003 Android之线性布局与基础控件

    文章目录 Android快速入门三步 布局介绍 LinearLayout布局属性 代码示例 基础控件 TextView和EditText 使用TextView与EditText ImageView I ...

  5. Unity3d UGUI基础控件使用(一)

    转载自:Unity3d UGUI基础控件使用(一) 一:UGUI介绍 UGUI是Unity4.6之后,经过多重测试,推出全新的UI系统,更灵活,快捷,易用的可视化游戏UI开发工具. 由于之前传统的UI ...

  6. 【IOS 开发】基本 UI 控件详解 (UISegmentedControl | UIImageView | UIProgressView | UISlider | UIAlertView )

    转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/50163725 一. 分段控件 (UISegmentedControl) 控件展 ...

  7. Android中的基础控件TextView、Button、ImageView、EditText、ProgressBar

    文章目录 1 Android中的基础控件 1.1 控件的通用属性 2 TextView 2.1 TextView的继承关系 2.2 TextView的常用属性 3 EditText 3.1 常用属性 ...

  8. Android:基础控件按键文本框输入框制作登录页面

    基础控件之Button,TextView,EditText,ImageView Button:按键 TextView:文本框 EditText:输入框 ImageView:图片 那我们新建一个工程研究 ...

  9. iOS开发UI篇—UITableview控件使用小结

    iOS开发UI篇-UITableview控件使用小结 一.UITableview的使用步骤 UITableview的使用就只有简单的三个步骤: 1.告诉一共有多少组数据 方法:- (NSInteger ...

最新文章

  1. ICMP最典型的应用PING和traceroute
  2. 蓝桥杯java第八届第一题--购物单
  3. python基础-牛逼的三层循环,实现想在那里退出,就在那里退出。
  4. mysql fulltext 分页_关于MySQL的FULLTEXT实现全文检索的注意事项
  5. cas-server Jdbc 连接读取用户(5)
  6. 基于品类关系,虚拟类目如何建设?
  7. 使用WndProc来处理消息
  8. java项目怎么使用js插件_Intro.js 分步向导插件使用方法 Web程序 - 贪吃蛇学院-专业IT技术平台...
  9. windows开启远程桌面命令
  10. Eclipse启动时 弹出subversive connector discovery
  11. 利用python将txt文本批量转化为excel格式文件
  12. 怎么用计算机算国际象棋,一台会判断的计算机:自学72小时就能成国际象棋大师...
  13. SecureCRT Home End键
  14. element-plus 中loading 自定义图片
  15. 常用计算机硬件故障检查方法,电脑硬件常见的故障检测及处理方法
  16. Java基础——接口
  17. OpenHarmony内核开发
  18. 京东管培生线上群面复盘
  19. c语言mc协议,三菱PLC MC协议的配置和使用简析
  20. 穷人冲冲冲:为什么总是“坏人”赚钱?

热门文章

  1. np.random中各随机采样函数一览
  2. leetcode - 516. 最长回文子序列
  3. 去哪儿-03-index-swiper
  4. 基于OpencCV的彩色图像的分离与合并
  5. JAVA SAX解析XML文档
  6. MySQL之流程控制结构(分支,循环)
  7. Java7并发编程指南——第八章:测试并发应用程序
  8. java、python什么意思_Python为什么叫Python,Java又如何而来?
  9. linux怎么查看数据库性能,正确评估SQL数据库性能,你必须知道的原理和方法!...
  10. 去超市一定要存包吗_大桥路某超市收银时出现多收现象!大家付完钱一定要核对...