UITextField设置

UITextField设置

//初始化textfield并设置位置及大小UITextField *text = [[UITextField alloc]initWithFrame:CGRectMake(20, 20, 130, 30)];//设置边框样式,只有设置了才会显示边框样式 text.borderStyle = UITextBorderStyleRoundedRect;typedef enum {UITextBorderStyleNone, UITextBorderStyleLine,UITextBorderStyleBezel,UITextBorderStyleRoundedRect } UITextBorderStyle;//设置输入框的背景颜色,此时设置为白色 如果使用了自定义的背景图片边框会被忽略掉 text.backgroundColor = [UIColor whiteColor];//设置背景text.background = [UIImage imageNamed:@"dd.png"];//设置背景 text.disabledBackground = [UIImage imageNamed:@"cc.png"];//当输入框没有内容时,水印提示 提示内容为passwordtext.placeholder = @"password";//设置输入框内容的字体样式和大小text.font = [UIFont fontWithName:@"Arial" size:20.0f];//设置字体颜色text.textColor = [UIColor redColor];//输入框中是否有个叉号,在什么时候显示,用于一次性删除输入框中的内容text.clearButtonMode = UITextFieldViewModeAlways;typedef enum {UITextFieldViewModeNever, 重不出现UITextFieldViewModeWhileEditing, 编辑时出现UITextFieldViewModeUnlessEditing, 除了编辑外都出现UITextFieldViewModeAlways 一直出现
} UITextFieldViewMode;//输入框中一开始就有的文字text.text = @"一开始就在输入框的文字";//每输入一个字符就变成点 用语密码输入text.secureTextEntry = YES;//是否纠错text.autocorrectionType = UITextAutocorrectionTypeNo;typedef enum {UITextAutocorrectionTypeDefault, 默认UITextAutocorrectionTypeNo, 不自动纠错UITextAutocorrectionTypeYes, 自动纠错
} UITextAutocorrectionType;//再次编辑就清空text.clearsOnBeginEditing = YES; //内容对齐方式text.textAlignment = UITextAlignmentLeft;//内容的垂直对齐方式 UITextField继承自UIControl,此类中有一个属性contentVerticalAlignmenttext.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;//设置为YES时文本会自动缩小以适应文本窗口大小.默认是保持原来大小,而让长文本滚动 textFied.adjustsFontSizeToFitWidth = YES;//设置自动缩小显示的最小字体大小text.minimumFontSize = 20;//设置键盘的样式text.keyboardType = UIKeyboardTypeNumberPad;typedef enum {UIKeyboardTypeDefault,  默认键盘,支持所有字符   UIKeyboardTypeASCIICapable, 支持ASCII的默认键盘UIKeyboardTypeNumbersAndPunctuation, 标准电话键盘,支持+*#字符UIKeyboardTypeURL,   URL键盘,支持.com按钮 只支持URL字符
UIKeyboardTypeNumberPad,    数字键盘
UIKeyboardTypePhonePad,  电话键盘UIKeyboardTypeNamePhonePad, 电话键盘,也支持输入人名
UIKeyboardTypeEmailAddress, 用于输入电子 邮件地址的键盘  
UIKeyboardTypeDecimalPad,  数字键盘 有数字和小数点UIKeyboardTypeTwitter,  优化的键盘,方便输入@、#字符UIKeyboardTypeAlphabet = UIKeyboardTypeASCIICapable, 
} UIKeyboardType;//首字母是否大写text.autocapitalizationType = UITextAutocapitalizationTypeNone;typedef enum {UITextAutocapitalizationTypeNone, 不自动大写UITextAutocapitalizationTypeWords, 单词首字母大写UITextAutocapitalizationTypeSentences, 句子的首字母大写UITextAutocapitalizationTypeAllCharacters, 所有字母都大写
} UITextAutocapitalizationType;//return键变成什么键text.returnKeyType =UIReturnKeyDone;typedef enum {UIReturnKeyDefault, 默认 灰色按钮,标有ReturnUIReturnKeyGo,  标有Go的蓝色按钮UIReturnKeyGoogle,
标有Google的蓝色按钮,用语搜索UIReturnKeyJoin,
标有Join的蓝色按钮UIReturnKeyNext,
标有Next的蓝色按钮UIReturnKeyRoute,
标有Route的蓝色按钮UIReturnKeySearch,
标有Search的蓝色按钮UIReturnKeySend,
标有Send的蓝色按钮UIReturnKeyYahoo,
标有Yahoo的蓝色按钮UIReturnKeyYahoo,
标有Yahoo的蓝色按钮UIReturnKeyEmergencyCall, 紧急呼叫按钮
} UIReturnKeyType;//键盘外观
textView.keyboardAppearance=UIKeyboardAppearanceDefault;
typedef enum {
UIKeyboardAppearanceDefault, 默认外观,浅灰色
UIKeyboardAppearanceAlert,  深灰 石墨色} UIReturnKeyType;//设置代理 用于实现协议text.delegate = self;//把textfield加到视图中[self.window addSubview:text];//最右侧加图片是以下代码 左侧类似UIImageView *image=[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"right.png"]];text.rightView=image;text.rightViewMode = UITextFieldViewModeAlways; typedef enum {UITextFieldViewModeNever,UITextFieldViewModeWhileEditing,UITextFieldViewModeUnlessEditing,UITextFieldViewModeAlways
} UITextFieldViewMode;//按return键键盘往下收 becomeFirstResponder类要采用UITextFieldDelegate协议text.delegate = self; 声明text的代理是我,我会去实现把键盘往下收的方法 这个方法在UITextFieldDelegate里所以我们要采用UITextFieldDelegate这个协议- (BOOL)textFieldShouldReturn:(UITextField *)textField
{[text resignFirstResponder]; //主要是[receiver resignFirstResponder]在哪调用就能把receiver对应的键盘往下收return YES;
}重写绘制行为
除了UITextField对象的风格选项,你还可以定制化UITextField对象,为他添加许多不同的重写方法,来改变文本字段的显示行为。这些方法都会返回一个CGRect结构,制定了文本字段每个部件的边界范围。以下方法都可以重写。– textRectForBounds:   //重写来重置文字区域
– drawTextInRect:    
//改变绘文字属性.重写时调用super可以按默认图形属性绘制,若自己完全重写绘制函数,就不用调用super了.
– placeholderRectForBounds:  
//重写来重置占位符区域
– drawPlaceholderInRect:  
//重写改变绘制占位符属性.重写时调用super可以按默认图形属性绘制,若自己完全重写绘制函数,就不用调用super了.
– borderRectForBounds:  
//重写来重置边缘区域
– editingRectForBounds:  
//重写来重置编辑区域
– clearButtonRectForBounds:  
//重写来重置clearButton位置,改变size可能导致button的图片失真
– leftViewRectForBounds:
– rightViewRectForBounds:委托方法- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{ //返回一个BOOL值,指定是否循序文本字段开始编辑 return YES; 
} - (void)textFieldDidBeginEditing:(UITextField *)textField{ //开始编辑时触发,文本字段将成为first responder 
} - (BOOL)textFieldShouldEndEditing:(UITextField *)textField{ //返回BOOL值,指定是否允许文本字段结束编辑,当编辑结束,文本字段会让出first responder //要想在用户结束编辑时阻止文本字段消失,可以返回NO //这对一些文本字段必须始终保持活跃状态的程序很有用,比如即时消息 return NO; 
} - (BOOL)textField:(UITextField*)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{ //当用户使用自动更正功能,把输入的文字修改为推荐的文字时,就会调用这个方法。 
//这对于想要加入撤销选项的应用程序特别有用 
//可以跟踪字段内所做的最后一次修改,也可以对所有编辑做日志记录,用作审计用途。  
//要防止文字被改变可以返回NO 
//这个方法的参数中有一个NSRange对象,指明了被改变文字的位置,建议修改的文本也在其中 return YES; 
} - (BOOL)textFieldShouldClear:(UITextField *)textField{ //返回一个BOOL值指明是否允许根据用户请求清除内容 
//可以设置在特定条件下才允许清除内容 return YES; 
} -(BOOL)textFieldShouldReturn:(UITextField *)textField{ //返回一个BOOL值,指明是否允许在按下回车键时结束编辑 //如果允许要调用resignFirstResponder 方法,这回导致结束编辑,而键盘会被收起[textField resignFirstResponder];
//查一下resign这个单词的意思就明白这个方法了 return YES; 
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/624179.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于云平台技术的XCALL的浅谈

基于云平台技术的XCALL(eXpandable Call)创新主要体现在以下几个方面: 可扩展性:XCALL利用云平台的可扩展性,能够处理大量并发通话,满足各种规模的业务需求。随着用户数量的增长,云平台可以动态…

RPA与通知机器人的完美结合

写在前面 在现代快节奏的工作环境中,我们经常会面临多个任务同时进行的情况,你还在为时间不够用、忙碌而惆怅吗?你还在为时刻盯着电脑流程而烦恼吗?你还在为及时收不到自己的自动化任务进度而焦躁吗?别担心&#xff0…

目标检测数据集 - 行人检测数据集下载「包含VOC、COCO、YOLO三种格式」

数据集介绍:行人检测数据集,真实场景高质量图片数据,涉及场景丰富,比如校园行人、街景行人、道路行人、遮挡行人、严重遮挡行人数据;适用实际项目应用:公共场所监控场景下行人检测项目,以及作为…

中国关心下一代工作委员会健康体育发展中心美育舞蹈考官一王雪

王雪—— 《中国关心下一代工作委员会》健康体育发展中心、美育舞蹈考官、评委 北京舞蹈学院舞蹈编导 朝阳区小红门地区文化艺术-领头人 中国舞舞蹈家协会会员 2019年7月7日中国观网第六届京津冀淑女 2021年辅导学生登上央视春晚 《听我说》 2023年4月22日带学生参加万人…

Vue 3,element table表格动态添加

el-table实现表格动态新增/插入/删除表格行&#xff0c;可编辑单元格 效果图 代码实现 <template><el-table :data"formDate.scoreList4" style"width:100%;height: 96%;" stripe show-summary:summary-method"calculateSummary":he…

【2023年收入最高的10种编程语言】

在过去的一年时间里&#xff08;2022 年 10 月 1 日到 2023 年 10 月 1 日&#xff09; &#xff0c;DevJobsScanner 分析了来自世界各地的超过 1000 万份开发工作机会&#xff0c;以了解市场以及最热门、薪酬最高的编程语言。值得注意的是&#xff0c;本项研究只关注了来自美国…

面试 React 框架八股文十问十答第九期

面试 React 框架八股文十问十答第九期 作者&#xff1a;程序员小白条&#xff0c;个人博客 相信看了本文后&#xff0c;对你的面试是有一定帮助的&#xff01;关注专栏后就能收到持续更新&#xff01; ⭐点赞⭐收藏⭐不迷路&#xff01;⭐ 1&#xff09;Redux 中异步的请求怎…

通过myBatis将sql语句返回的值自动包装成一个java对象(1)以及SqlSessionFactory

如果我们从数据库中读取了一个用户的两个属性——用户名和密码。此时我们希望把这两个属性放入一个java的用户对象中。我们可以选择new一个user对象&#xff0c;向构造器传入我们刚刚读取的两个属性。但一旦从数据库中读取的内容变多&#xff0c;我们就需要new很多新的对象。这…

2024年第10届计算与人工智能国际会议(ICCAI 2024)即将召开

时间&#xff1a;2024年4月26-29日 地点&#xff1a;印度尼西亚巴厘岛 会议官网&#xff1a;ICCAI 2024|Bali, Indonesiahttps://www.iccai.net/index.html 2024年第十届计算与人工智能国际会议&#xff08;ICCAI 2024&#xff09;将于2024年4月26-29日在印度尼西亚巴厘岛举行…

推荐一款实用的免费开源局域网传输工具!轻松搭建网盘的神器!

本文小编给大家分享一款免费开源软件 Filebrowser&#xff0c;使用它可以轻松搭建属于你的个人网盘和网页版文件管理器。 它能做什么呢&#xff1f;想必大家也都用过百度网盘或阿里云盘之类的云存储服务&#xff0c;将自己的所有数据都存储在别人的服务器上&#xff0c;所谓的在…

【开源】基于JAVA的用户画像活动推荐系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 兴趣标签模块2.3 活动档案模块2.4 活动报名模块2.5 活动留言模块 三、系统设计3.1 用例设计3.2 业务流程设计3.3 数据流程设计3.4 E-R图设计 四、系统展示五、核心代码5.1 查询兴趣标签5.2 查询活动推荐…

【Docker】部署 copilot-gpt4-service,将 Github Copilot 转换为 GPT-4 模型进行对话。

引言 利用 copilot-gpt4-service 服务&#xff0c;将 Github Copilot 转换为 ChatGPT&#xff0c;将使得你可以通过 ChatGPT-Next-Web 或者其他第三方客户端&#xff0c;使用 Github Copilot 的 GPT-4 模型进行对话。 步骤 安装并启动 copilot-gpt4-service 服务 首先&#…

原型设计工具Axure RP结合内网穿透实现本地web页面公网访问协同办公

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

coala,一个超级实用的 Python 库!

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com 大家好&#xff0c;今天为大家分享一个超级实用的 Python 库 - coala。 Github地址&#xff1a;https://github.com/coala/coala/ 在现代软件开发中&#xff0c;代码质量和一致性是非常重要的。然而&#xff0c…

Docker 的工作原理及安装步骤【云原生】

文章目录 1. Docker 的工作原理2. Docker 与虚拟机3. Docker 架构4. 安装 Docker5. 配置镜像加速 1. Docker 的工作原理 大型项目组件较多&#xff0c;运行环境也较为复杂&#xff0c;部署会碰到一些问题&#xff1a; ① 依赖关系复杂&#xff0c;容易出现兼容性问题&#xff1…

在ubuntu操作系统上部署服务并自启保活

以python django gunicorn ubuntu20 为例 首先python环境用conda,查看虚拟环境的目录 conda env list 找到python的路径 写一个启动服务器的脚本 start.sh #!/bin/bash source /home/ema/app/miniconda/bin/activate subsys # 替换为 conda 的实际路径 cd /home/xx/xx/…

本地搭建Oracle数据库结合内网穿透实现公网环境远程访问

最近&#xff0c;我发现了一个超级强大的人工智能学习网站。它以通俗易懂的方式呈现复杂的概念&#xff0c;而且内容风趣幽默。我觉得它对大家可能会有所帮助&#xff0c;所以我在此分享。点击这里跳转到网站。 文章目录 前言1. 数据库搭建2. 内网穿透2.1 安装cpolar内网穿透2…

text、icon、progress、rich-text等基础内容小部件(Widget)组件代码明细

属性说明和代码明细如下&#xff1a; text 文本。 属性说明 属性名类型默认值必填说明user-selectbooleanfalse否文本是否可选&#xff0c;该属性会使文本节点显示为 inline-block 示例代码 TYML <view class"text-page"><view class"page-body…

升降式OLED透明屏,影响价格的因素有这6大方面

以下是一篇关于升降OLED透明屏的文章&#xff0c;包括其规格、实现原理、应用领域、特色优势和价格等方面&#xff1a; 升降OLED透明屏的规格升降OLED透明屏的尺寸可以根据不同的需求进行定制&#xff0c;尺寸范围从32英寸到200英寸不等。同时&#xff0c;它的厚度不到1厘米&am…

【面试突击】Java内存模型实战

&#x1f308;&#x1f308;&#x1f308;&#x1f308;&#x1f308;&#x1f308;&#x1f308;&#x1f308; 欢迎关注公众号&#xff08;通过文章导读关注&#xff1a;【11来了】&#xff09;&#xff0c;及时收到 AI 前沿项目工具及新技术 的推送 发送 资料 可领取 深入理…