IOS-OC-基本控件之UITextField
为什么80%的码农都做不了架构师?>>>
UITextField
IOS开发中必不可少的基本控件,本文主要是列出常用的属性及方法(注XCode版本为7.2)
文本框,可以理解为输入框或者显示框,即用户可以往里面输入文字或图片,可以输入当然也可以显示文字,常用的有对话框,信息,搜索框等等.
父类为UIControl.
属性有
@property(nullable, nonatomic,copy) NSString *text; // 显示的文本
@property(nullable, nonatomic,copy) NSAttributedString *attributedText NS_AVAILABLE_IOS(6_0); // 提示文本在IOS6.0之后可以使用,默认为空,经测试发现只要text为空时才会显示此文本,text不为空时不会显示此文本,可以当做提示
@property(nullable, nonatomic,strong) UIColor *textColor; //显示文本的颜色默认为空无色
@property(nullable, nonatomic,strong) UIFont *font; // 文本字体,默认为空,使用系统自带的12号字体
@property(nonatomic) NSTextAlignment textAlignment; // 文本对齐方式,默认为左对齐,也可以右对齐或者居中对齐,都是枚举值
@property(nonatomic) UITextBorderStyle borderStyle; //文本框风格,默认是没有风格的,
@property(nullable, nonatomic,copy) NSString *placeholder; // 提示文本,当用户一调用键盘就会消失,比较实用
@property(nonatomic) BOOL clearsOnBeginEditing; // 默认是NO,没有开启此功能,此功能就是文本框右边会有一个x,一键清除所有的内容比较实用
@property(nonatomic) BOOL adjustsFontSizeToFitWidth; // 根据字体的大小来自动调整文本框宽度,默认是NO,没有开启
@property(nonatomic) CGFloat minimumFontSize; // 最小字体,不常用,默认为0
@property(nullable, nonatomic,weak) id<UITextFieldDelegate> delegate; // 代理,这个有用,如果想知道文本框的更多的变化,要用到代理协议,代理方法,代理方法更加具体
@property(nullable, nonatomic,strong) UIImage *background; // 背景图片,默认为空,没有背景图片
@property(nonatomic,readonly,getter=isEditing) BOOL editing;//是否允许编辑,YES允许编辑,NO不允许编辑
@property(nullable, nonatomic,strong) UIView *leftView; // 这个有用可以在文本框的左边加上图片或者视图
@property(nonatomic) UITextFieldViewMode leftViewMode; //是否显示左视图
@property(nullable, nonatomic,strong) UIView *rightView; // 右视图
@property(nonatomic) UITextFieldViewMode rightViewMode;//是否显示右视图
方法有(一般可能都不怎么用方法)
- (CGRect)borderRectForBounds:(CGRect)bounds;
- (CGRect)textRectForBounds:(CGRect)bounds;
- (CGRect)placeholderRectForBounds:(CGRect)bounds;
- (CGRect)editingRectForBounds:(CGRect)bounds;
- (CGRect)clearButtonRectForBounds:(CGRect)bounds;
- (CGRect)leftViewRectForBounds:(CGRect)bounds;
- (CGRect)rightViewRectForBounds:(CGRect)bounds;
- (void)drawTextInRect:(CGRect)rect;
- (void)drawPlaceholderInRect:(CGRect)rect;
代理方法有
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField; // 返回NO禁止编辑
- (void)textFieldDidBeginEditing:(UITextField *)textField; // 变成第一响应时调用,就是点击文本框时,已经开始编辑的时候 会触发这个方法
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField; //返回BOOL值,指定是否允许文本字段结束编辑,当编辑结束,文本字段会让出first responder 要想在用户结束编辑时阻止文本字段消失,可以返回NO 这对一些文本字段必须始终保持活跃状态的程序很有用,比如即时消息
- (void)textFieldDidEndEditing:(UITextField *)textField; // 结束编辑的时候调用
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string; // 可以得到用户输入的字符,返回NO,不能改变文本的内容,在这个方法里可以判断用户输入的信息是否符合要求
- (BOOL)textFieldShouldClear:(UITextField *)textField; // 当用户全部清空的时候的时候 会调用
- (BOOL)textFieldShouldReturn:(UITextField *)textField; // 点击Return键的时候
更详细的见http://www.cnblogs.com/rayray/p/4221666.html
转载于:https://my.oschina.net/591XT/blog/634022
IOS-OC-基本控件之UITextField相关推荐
- iOS基础——UI控件之UIAlertController、UINavigationController、Segue、SVProgressHUD
iOS基础--UI控件之UIAlertController.UINavigationController.Segue 一.UIAlertController 1.普通对话框 -(void)update ...
- iOS自定义View 控件自动计算size能力
iOS自定义View 控件自动计算size能力 背景 在使用 UILabel 和 UIImage 的时候,不用指定宽高约束,控件也不会报约束缺失,还可以根据内容自己确定适合的宽高,特别适合 Xib 和 ...
- android 仿ios三级联动,仿iOS的PickerView控件,有时间选择和选项选择并支持一二三级联动效果...
Android-PickerView 注意事项.详请使用方式.更新日志等,请查看 Wiki文档 Wiki文档,Wiki文档,Wiki文档 !~ 重要的事情说三遍 对于使用上有任何疑问或优化建议等,欢迎 ...
- 从0到1搭建移动App功能自动化测试平台(2):操作iOS应用的控件
转载:http://debugtalk.com/post/build-app-automated-test-platform-from-0-to-1-Appium-interrogate-iOS-UI ...
- android 仿照ios 图片选择,GitHub - wildma/PictureSelector: Android 图片选择器(仿 IOS 图片选择控件)...
PictureSelector Android 图片选择器(仿 IOS 图片选择控件) 效果图 功能特点 支持通过拍照获取图片 支持通过相册获取图片 支持图片是否裁剪两种场景 支持仿 IOS 底部弹出 ...
- android 仿ios毛玻璃,类 iOS 毛玻璃效果控件 BlurView
软件介绍 BlurView 是Android下类似 iOS 毛玻璃效果控件. 使用: android:id="@+id/blurView" android:layout_width ...
- iOS基本UI控件总结
包括以下几类: //继承自NSObject:(暂列为控件) UIColor *_color; //颜色 UIImage *_image; //图像 //继承自UIView:只能相应手势UI ...
- IOS 常用UI控件
目录 下拉刷新 模糊效果 AutoLayout 富文本 图表 表相关与Tabbar 隐藏与显示 HUD与Toast 对话框 其他UI 具体内容 下拉刷新 EGOTableViewPullRefresh ...
- iOS 使用UI控件的外观协议UIAppearance进行设置默认UI控件样式
在iOS开发中,经常会对UINavigationBar的样式进行全局样式.采用的设置方式有两种: 第一种,采用方式如下: [UINavigationBar appearance] 这种是对一类对象的默 ...
最新文章
- mustache模板技术
- stl源码剖析_《STL源码剖析》学习笔记——空间配置器
- CRM lifecycle status
- Postgresql的character varying = bytea问题
- java mysql emoj报错_MySQL插入emoji表情报错 SQLException: Incorrect string value 的两种解决方案...
- linux shell $#获取所有参数的个数 $@获取所有参数
- 射频电路学习之滤波电路
- ssh修改端口号_如何查找和更改SSH端口号?
- win10专业版安装.net Framework4.7.2出现问题解决办法
- UE4 VR 模式下全屏解决办法
- 【办公软件有哪几种】万彩办公大师教程丨Office转图片工具
- Spring源码研读
- 细说Java垃圾回收
- C#接口--C#基础
- origin论文画图记录
- 论文阅读:CNN+GCN
- PyTorch 学习之Ubuntu16.04 下安装 PyTorch(conda与pip两种方式安装)
- php7不再把十六进制当数字,php7 参数、整形及字符串处理机制修改实例分析
- 2022,又一批AI大牛从大厂出走了
- 如何用 LaTeX 排版高中数学试卷(转)_Simplelife_新浪博客
热门文章
- SQL2005性能分析一些细节功能你是否有用到?(二)
- 字体渲染 渲染引擎
- 软考信息系统项目管理师_信息化与信息系统3_软件工程_新一代信息技术---软考高级之信息系统项目管理师005
- ES6新特性_浏览器使用ES6模块化引入模块---JavaScript_ECMAScript_ES6-ES11新特性工作笔记042
- 基于Spring Security的认证方式_创建工程_Spring Security OAuth2.0认证授权---springcloud工作笔记119
- Lua开发工作笔记0003---Windows下搭建Lua开发环境
- SpringCloud工作笔记085---SpringBoot项目中防止跨站脚本攻击功能添加
- 2011浙大878计算机专业基础综合大题答案解析
- ln: 创建符号链接 “include/asm”: 不支持的操作
- 学fpga(流水灯)