iOS-OC-基本控件之UITextField
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
iOS-OC-基本控件之UITextField的更多相关文章
- iOS基础UI控件介绍-Swift版
iOS基础UI控件总结 iOS基础控件包括以下几类: 1.继承自NSObject:(暂列为控件) UIColor //颜色 UIImage //图像 2.继承自UIView: 只能相应手势UIGest ...
- 无比迅速敏捷地开发iOS超精美控件
目录 前言 设计 编码 PaintCode 前言 自从人生第一篇博客<iOS中的预编译指令的初步探究>问世以来 浏览量竟然达到了360多,(路过的大神勿笑!)这些浏览量使我兴奋异常但又令我 ...
- 从0到1搭建移动App功能自动化测试平台(2):操作iOS应用的控件
转自:http://debugtalk.com/post/build-app-automated-test-platform-from-0-to-1-Appium-interrogate-iOS-UI ...
- IOS(一) 基础控件的介绍以及使用
IOS的界面的制作,相对于Android来说 简洁了很多,虽然创建布局的方式都是两种(代码创建.布局文件) 但是Android中的xml布局文件在某些方面也属于代码创建,因为自己使用到得每一个属性 都 ...
- 如何自定义iOS中的控件
本文译自 How to build a custom control in iOS .大家要是有什么问题,可以直接在 twitter 上联系原作者,当然也可以在最后的评论中回复我. 在开发过程中,有时 ...
- IOS的各种控件(转载,防止遗忘)
UITextView控件的详细讲解 感觉写的相当不错,而且很全就直接转载了 1.创建并初始化 创建UITextView的文件,并在.h文件中写入如下代码: #import <UIKit/UIKi ...
- iOS中UIButton控件的用法及部分参数解释
在UI控件中UIButton是极其常用的一类控件,它的类对象创建与大多数UI控件使用实例方法init创建不同,通常使用类方法创建: + (id)buttonWithType:(UIButtonType ...
- iOS基本UI控件总结
包括以下几类: //继承自NSObject:(暂列为控件) UIColor *_color; //颜色 UIImage *_image; //图像 //继承自UIView:只能相应手势UI ...
- iOS 中UI控件的各种对齐方式总结
1.textAligment : 文字的水平方向的对齐方式 取值 NSTextAlignmentLeft = 0, // 左对齐 NSTextAlignmentCenter = ...
随机推荐
- iOS开发——UI进阶篇(十五)Quartz2D介绍
一.Quartz2D简介 1.什么是Quartz2DQuartz 2D是一个二维绘图引擎,同时支持iOS和Mac系统 Quartz 2D能完成的工作绘制图形 : 线条\三角形\矩形\圆\弧等绘制文字绘 ...
- BZOJ3172——[Tjoi2013]单词
1. 题目大意:一篇论文是由许多单词组成,现在想知道每个单词分别在论文中出现多少次. 2.分析:对着 广义后缀自动机的图看,我们就会发现玄机,答案不就是这个单词下的后缀个数吗? 于是建立自动机,然后求 ...
- 剑指Offer 左旋转字符串
题目描述 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果.对于一个给定的字符序列S,请你把其循环左移K位后的序列输出.例如,字符序列S=”abc ...
- 两轮自平衡小车双闭环PID控制设计
两轮自平衡小车的研究意义 ...
- 51Nod 1380 夹克老爷的逢三抽一
Description 一开始有一个环,可以选择删除一个元素获得他的权值,同时删除与它相邻的两个元素,其他元素重新形成环,问能获得的最大价值. Sol 堆+贪心. 一开始从堆中加入所有元素,然后取出一 ...
- 一个按比特位拷贝数据的函数copybits
一个按比特位拷贝数据的函数 没有进行特别的优化.其实还可以在拷贝源开始位置和目标开始位置是2的整数倍位置的时候进行优化. 说明 这个函数用于从src数组首地址跳过sbb个字节,又跳过ssb个比特位,拷 ...
- ja
import java.util.*; class animal{ void cry(){ } void get_animal_name(){ ...
- 如何发布及部署asp.net网站
用vs开发完asp.net网站之后如何发布到服务器上去变成正式网站? 1.发布首先需要发布网站,这个步骤就是生成正式网站的目录(把源代码编译成.cs代码文件编译成.dll文件)详细步骤:http:// ...
- OpenMP求完数
源代码: #include "stdafx.h" //必须写在首行,因为其前面的include都会被忽略 #include "omp.h" #include & ...
- JavaScript Window对象
1.Window对象的location属性引用的是Location对象,它表示该窗口中当前显示的文档的URL,并定义了方法来使窗口载入新的文档.Location对象的href属性是一个字符串,后者包含 ...