UITextField的快速基本使用代码块
概述
UITextField在界面中显示可编辑文本区域的对象。- 您可以使用文本字段来使用屏幕键盘从用户收集基于文本的输入。键盘可以配置许多不同类型的输入,如纯文本,电子邮件,数字等等。文本字段使用目标操作机制和委托对象来报告在编辑过程中所做的更改。
除了基本的文本编辑行为之外,还可以将叠加视图添加到文本字段以显示其他信息并提供其他可定位控件。您可以为诸如书签按钮或搜索图标等元素添加自定义叠加视图。文本字段提供内置的叠加视图来清除当前文本。自定义覆盖视图的使用是可选的
属性和方法
初始化
UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(, , , )];
设置占位文本
textField.placeholder = @"请输入文字";
设置文本
textField.text = @"测试";
设置文本的颜色
textField.textColor = [UIColor redColor];
设置文本的字体
textField.font = [UIFont systemFontOfSize:];
设置文本的对齐方式
textField.textAlignment = NSTextAlignmentRight;
设置输入框不能编辑
[textField setEnabled:NO];
设置编辑框中的内容密码显示
textField.secureTextEntry = YES;
启用文本字段时显示的背景图像。该图像显示在文本字段内容的其余部分后面
textField.background = [UIImage imageNamed:@"登录logo"];
设置边框样式(更多边框样式到补充说明中查看)默认样式为UITextBorderStyleNone
textField.borderStyle = UITextBorderStyleRoundedRect;
设置清楚按钮的模式(更多清楚按钮的模式到补充说明中查看)默认样式为UITextFieldViewModeNever
textField.clearButtonMode = UITextFieldViewModeUnlessEditing;
文本字段文本的最小字体大小。当“调整为适合”选项启用时,文本字段会自动更改字体大小以确保文本的最大可读性。你可以使用此属性来指定你认为适合文本的最小字体大小
textField.minimumFontSize = ;
设置键盘类型(更多键盘类型在补充说明中查看)
textField.keyboardType = UIKeyboardTypeNumberPad;
设置键盘上返回键的类型(更多返回类型到补充说明中查看)
textField.returnKeyType = UIReturnKeyJoin;
设置键盘的视觉样式(更多键盘的视觉样式效果到补充说明中查看)
textField.keyboardAppearance = UIKeyboardAppearanceLight;
文本字段的拼写检查行为。此属性决定了拼写检查在打字过程中是启用还是禁用
textField.spellCheckingType = UITextSpellCheckingTypeNo;
此属性决定了拼写检查在打字过程中是启用还是禁用。启用拼写检查后,文本对象会为所有拼写错误的单词生成红色下划线。如果用户点击拼写错误的单词,则文本对象向用户呈现可能的更正列表。
此属性的默认值是default,启用自动更正时启用拼写检查。此属性中的值将覆盖用户在“设置”>“常规”>“键盘”中设置的拼写检查设置。
文本字段的自动纠正行为。此属性确定在输入过程中自动更正是启用还是禁用
textField.autocorrectionType = UITextAutocorrectionTypeYes;
自动大写样式适用于键入的文本。此属性决定在什么时候自动按下shift键
textField.autocapitalizationType = UITextAutocapitalizationTypeAllCharacters;
设置左边试图(注意:需要先设置左边视图的显示模式为UITextFieldViewModeAlways)
textField.leftViewMode = UITextFieldViewModeAlways;
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(, , , )];
imageView.image = [UIImage imageNamed:@"验证码"];
textField.leftView = imageView;
设置右边视图(注意:需要先设置右变视图的显示模式为UITextFieldViewModeAlways)
textField.rightViewMode = UITextFieldViewModeAlways;
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(, , , )];
imageView.image = [UIImage imageNamed:@"验证码"];
textField.rightView = imageView;
代理方法
询问代理是否应该在指定的文本字段中开始编辑
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField; // return NO to disallow editing.
告诉代理在指定的文本字段中开始编辑
- (void)textFieldDidBeginEditing:(UITextField *)textField; // became first responder
询问代理是否应在指定的文本字段中停止编辑
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField; // return YES to allow editing to stop and to resign first responder status. NO to disallow the editing session to end
告诉代理对指定的文本字段停止编辑
- (void)textFieldDidEndEditing:(UITextField *)textField; // may be called if forced even if shouldEndEditing returns NO (e.g. view removed from window) or endEditing:YES called
告诉代理对指定的文本字段停止编辑
- (void)textFieldDidEndEditing:(UITextField *)textField reason:(UITextFieldDidEndEditingReason)reason NS_AVAILABLE_IOS(10_0); // if implemented, called in place of textFieldDidEndEditing:
询问代理是否应该更改指定的文本
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string; // return NO to not change text
询问代理是否应删除文本字段的当前内容
- (BOOL)textFieldShouldClear:(UITextField *)textField; // called when clear button pressed. return NO to ignore (no notifications)
询问代理文本字段是否应处理按下返回按钮
- (BOOL)textFieldShouldReturn:(UITextField *)textField; // called when 'return' key pressed. return NO to ignore.
补充说明
设置UITextField占位文字的颜色的两种办法
第一种
KVC修改,如果不先设置占位文字,占位文字的颜色是不管用的:
textField.placeholder = @"占位字符";
textField setValue:[UIColor redColor] forKeyPath:@"_placeholderLabel.textColor"];
第二种
通过attributedPlaceholder属性修改占位文字颜色
NSAttributedString *attrString = [[NSAttributedString alloc] initWithString:@"请输入占位文字" attributes:@{NSForegroundColorAttributeName:[UIColor redColor],
NSFontAttributeName:textField.font
}];
textField.attributedPlaceholder = attrString;







自定义键盘(输入视图)
UIView *redView = [[UIView alloc] initWithFrame:CGRectMake(, , self.view.bounds.size.width, )];
redView.backgroundColor = [UIColor redColor];
textField.inputView = redView;
textField.textColor = [UIColor redColor];
【转发】https://www.jianshu.com/p/740cd34f870b
UITextField的快速基本使用代码块的更多相关文章
- intellij idea 设置Live Template快速生成自定义代码块
一.设置 类似于宏,话不多少,上步骤 File----->Setting 选择Live Template 新建触发规则 新建触发key 输入模版text 选择在哪个环境触发 选java 如果是其 ...
- 在pycharm中自定义模板代码,快速输出固定代码块
pycharm中有时会经常输出固定一段代码,为避免每次重复输入,可以自定义一段模板代码,请看以下图教程: 1. 点击 file 里面的 setting 2. 在搜索框输入live,就会显示出 ...
- PyCharm自定义代码块设置方法-添加-删除【详细步骤】
原文:https://blog.csdn.net/chichu261/article/details/82887108 在做项目的时候,有些代码会需要频繁的码.如果去已有的项目中去复制,又需要找很久. ...
- live Templates 活动模板. 配置完之后,就可以快速编码-代码块
配置:live Templates 活动模板. 配置完之后,就可以快速编码-代码块. 输入startflask敲回车: 就会生成代码: 怎么做到的呢? 如下: 注意第七步: 原本不是cha ...
- 【LabVIEW技巧】代码块快速放置
前言 之前的文章中介绍了如何使用QuickDrop来实现快速代码放置,今天我们来详细的聊一下如何进行代码块的快速放置. 正文 LabVIWE程序设计中,我们在架构层级总是进行重复性的编写.举一个例子: ...
- xcode添加快捷代码块
添加快捷代码块 在开发过程中,一些常用的代码段,我们可以设置成快捷代码段来快速实现代码的编写. 如上图中的属性的设置,它们都有相同重复的代码@property (nonatomic, strong), ...
- iOS端项目注释规范附统一代码块
代码的注释经常被人忽略,以至于在后期维护的时候较为困难.我们准备在XX项目开始之前制定一套规范的注释体系,致力于达到就算维护人员改变也能快速上手的效果. 1.属性注释 属性注释 使用 /** 注释*/ ...
- iOS 页面跳转传值,属性传值,代理传值,代码块传值,单例传值,通知传值
有时候我们在页面跳转的时候回传递相应的参数,如,你想把在第一个页面的文本框里的内容显示在第二个文本框中,或者你又想把第二个文本框中的内容改变之后到第一个页面的文本框中,所有,这个时候我们就要用到页面跳 ...
- 巧用Xode中的代码块(转)
在我们编码的过程中,总会发现有一些重复的编码工作,可能你会不厌其烦的去copy and paste,但是你有去考虑过怎样解决这样的问题吗?其实现在很多的编程IDE都能帮助我们减少一些编码的任务,提高编 ...
随机推荐
- bugku 管理员系统
这一个是伪造ip X-FORWARDED-FOR:127.0.0.1 用到了XFF头 首先打开网站会发现一个登录界面 然后用开发者工具看一下 后台会发现一串用base64加密的密文 用base64解密 ...
- bugku 头等舱
先查看题目发现页面是这一个 然后打开后台F12 发现后台什么也没有 然后使用抓包burpsuit 然后发现答案就在其中 (首先右键转到repeater然后点击go)
- 【转】解决jenkins自动杀掉衍生进程
在执行 shell输入框中加入BUILD_ID=dontKillMe ,即可防止jenkins杀死启动的进程 export BUILD_ID=dontKillMe PROJECT_LOCATION=& ...
- 【Python】一些函数
Python 数字类型转换 有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可. int(x) 将x转换为一个整数. float(x) 将x转换到一个浮点数. ...
- Unity引用System.Windows.Forms遇到的一些坑
这两天在做一个unity打开文件选择框的功能.网上找到两种方法, 第一种是调用win32打开对话框,这个挺好,但是有个致命的问题,没办法多选!!!多选的话返回的是根目录的路径,文件名返回不了,找了半天 ...
- JS高级---原型的引入,原型添加的方法解决数据共享
原型的引入:解决:通过构造函数创建对象带来的问题,即浪费内存(一个对象开一个内存,多个对象开多个内存) 通过原型来添加方法,解决数据共享,节省内存空间 <script> function ...
- Sunday算法浅谈
一.Sunday算法简介 Sunday算法在我看来比起Kmp和bm都更加容易理解,代码实现也更加简洁.Sunday算法由Daniel M.Sunday在1990年提出,它的思想跟BM算法很相似只不过S ...
- LeetCode 编辑距离(DP)
题目 给定两个单词 word1 和 word2,计算出将 word1 转换成 word2 所使用的最少操作数 . 你可以对一个单词进行如下三种操作: 插入一个字符 删除一个字符 替换一个字符 思路 定 ...
- frp 使用基础笔记
0x01 简介 为什么需要内网穿透? 很多时候从公网访问自己内网的设备是困难的,毕竟自己没有一个独立的IP地址. Frp 服务器进行内网穿透,速度快还十分简单.可以实现很多功能,包括不限于远程桌面,文 ...
- 1018 Public Bike Management (30分) (迪杰斯特拉+dfs)
思路就是dijkstra找出最短路,dfs比较每一个最短路. dijkstra可以找出每个点的前一个点, 所以dfs搜索比较的时候怎么处理携带和带走的数量就是关键,考虑到这个携带和带走和路径顺序有关, ...