iOS界面设计之基础控件的学习 --- UITextField
学习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相关推荐
- Winform UI界面设计例程——TreeView控件
今天我们来探讨下treeView的使用 treeView控件是树形菜单,非常易于展示层次结构和对其进行导航,我们电脑的资源管理器就是使用了treeView控件进行目录和磁盘的导航. TreeView控 ...
- iOS小白之路...iOS中基础控件的使用
UIlabel是iOS开发中应用比较广泛的一个基础控件. uilabel最重要的功能是为我们提供文本展示. uilabel有哪些常用的属性. >uilabel.text设置文本标签展示文字 &g ...
- 【 iOS 应用开发 】 UIKit 控件 ( 代码生成控件 | UIView 属性方法 | Storyboard | Bundle | Property List | 动画 | 图片内存优化 )
文章目录 一. 代码生成控件 1. 创建设置项目 ( 1 ) 创建项目 ( ① 选择 Create a new Xcode project | ② 创建 Single View Application ...
- 003 Android之线性布局与基础控件
文章目录 Android快速入门三步 布局介绍 LinearLayout布局属性 代码示例 基础控件 TextView和EditText 使用TextView与EditText ImageView I ...
- Unity3d UGUI基础控件使用(一)
转载自:Unity3d UGUI基础控件使用(一) 一:UGUI介绍 UGUI是Unity4.6之后,经过多重测试,推出全新的UI系统,更灵活,快捷,易用的可视化游戏UI开发工具. 由于之前传统的UI ...
- 【IOS 开发】基本 UI 控件详解 (UISegmentedControl | UIImageView | UIProgressView | UISlider | UIAlertView )
转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/50163725 一. 分段控件 (UISegmentedControl) 控件展 ...
- Android中的基础控件TextView、Button、ImageView、EditText、ProgressBar
文章目录 1 Android中的基础控件 1.1 控件的通用属性 2 TextView 2.1 TextView的继承关系 2.2 TextView的常用属性 3 EditText 3.1 常用属性 ...
- Android:基础控件按键文本框输入框制作登录页面
基础控件之Button,TextView,EditText,ImageView Button:按键 TextView:文本框 EditText:输入框 ImageView:图片 那我们新建一个工程研究 ...
- iOS开发UI篇—UITableview控件使用小结
iOS开发UI篇-UITableview控件使用小结 一.UITableview的使用步骤 UITableview的使用就只有简单的三个步骤: 1.告诉一共有多少组数据 方法:- (NSInteger ...
最新文章
- ICMP最典型的应用PING和traceroute
- 蓝桥杯java第八届第一题--购物单
- python基础-牛逼的三层循环,实现想在那里退出,就在那里退出。
- mysql fulltext 分页_关于MySQL的FULLTEXT实现全文检索的注意事项
- cas-server Jdbc 连接读取用户(5)
- 基于品类关系,虚拟类目如何建设?
- 使用WndProc来处理消息
- java项目怎么使用js插件_Intro.js 分步向导插件使用方法 Web程序 - 贪吃蛇学院-专业IT技术平台...
- windows开启远程桌面命令
- Eclipse启动时 弹出subversive connector discovery
- 利用python将txt文本批量转化为excel格式文件
- 怎么用计算机算国际象棋,一台会判断的计算机:自学72小时就能成国际象棋大师...
- SecureCRT Home End键
- element-plus 中loading 自定义图片
- 常用计算机硬件故障检查方法,电脑硬件常见的故障检测及处理方法
- Java基础——接口
- OpenHarmony内核开发
- 京东管培生线上群面复盘
- c语言mc协议,三菱PLC MC协议的配置和使用简析
- 穷人冲冲冲:为什么总是“坏人”赚钱?
热门文章
- np.random中各随机采样函数一览
- leetcode - 516. 最长回文子序列
- 去哪儿-03-index-swiper
- 基于OpencCV的彩色图像的分离与合并
- JAVA SAX解析XML文档
- MySQL之流程控制结构(分支,循环)
- Java7并发编程指南——第八章:测试并发应用程序
- java、python什么意思_Python为什么叫Python,Java又如何而来?
- linux怎么查看数据库性能,正确评估SQL数据库性能,你必须知道的原理和方法!...
- 去超市一定要存包吗_大桥路某超市收银时出现多收现象!大家付完钱一定要核对...