一  属性

    UITextField * myTextField = [[UITextField alloc] initWithFrame:CGRectMake(50, 100, 200, 50)];
myTextField.backgroundColor = [UIColor clearColor];
//简单设置textField的边缘样式
myTextField.borderStyle = UITextBorderStyleRoundedRect;
//占位显示的内容(水印)
myTextField.placeholder = @"请输入姓名";
//对齐模式
myTextField.textAlignment = NSTextAlignmentLeft;
//显示清除按钮的模式
myTextField.clearButtonMode = UITextFieldViewModeWhileEditing;
// 设置背景图
// myTextField.disabledBackground
// 每次输入字符变成点.常用于密码输入
// myTextField.secureTextEntry = YES;
//再次编辑就清空
// text.clearsOnBeginEditing = YES;
//设置键盘的样式
// text.keyboardType = UIKeyboardTypeNumberPad;
//首字母是否大写
// text.autocapitalizationType = UITextAutocapitalizationTypeNone;
//return键变成什么键
// text.returnKeyType =UIReturnKeyDone;
//键盘外观
// textView.keyboardAppearance=UIKeyboardAppearanceDefault;
//按return键键盘往下收
// becomeFirstResponder // UIView* view1 = [[UIView alloc]initWithFrame:CGRectMake(0,0,40,0)];
// UIImageView * imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"music.png"]];
// imageView.frame = CGRectMake(0,0,40,40);
// UIImageView * imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 40, 40)];
// imageView.image = [UIImage imageNamed:@"music.png"]; //左视图,视图可以是UIView下的任意视图.
// myTextField.leftView = imageView;
//左视图的显示模式
// myTextField.leftViewMode = UITextFieldViewModeAlways;
//右视图
// myTextField.rightView
//右视图显示模式
// myTextField.rightViewMode

 

二 代理方法

 

遵守TextField代理后.myTextField.delegate = self;

才能使用它的代理方法;在此就不多做说明.

 

三 TextField的重绘

除了UITextField对象的风格选项,你还可以定制化UITextField对象,为他添加许多不同的重写方法,来改变文本字段的显示行为。这些方法都会返回一个CGRect结构,制定了文本字段每个部件的边界范围。以下方法都可以重写。(需要创建一个类,继承自UITextField.来重写这些方法).
 
– textRectForBounds:     //重写来重置文字区域
– drawTextInRect:         //改变绘文字属性.重写时调用super可以按默认图形属性绘制,若自己完全重写绘制函数,就不用调用super了.
– placeholderRectForBounds:  //重写来重置占位符区域
– drawPlaceholderInRect:  //重写改变绘制占位符属性.重写时调用super可以按默认图形属性绘制,若自己完全重写绘制函数,就不用调用super了.
– borderRectForBounds:  //重写来重置边缘区域
– editingRectForBounds:  //重写来重置编辑区域
– clearButtonRectForBounds:  //重写来重置clearButton位置,改变size可能导致button的图片失真
– leftViewRectForBounds:
– rightViewRectForBounds:

 

在实际开发中,通常重写leftViewRectForBounds方法.并设置leftView,leftViewMode属性,来实现避免输入的内容顶格显示的问题.

 

 

 

UITextField的常用属性,Delegate,重绘的更多相关文章

  1. ListView常用属性 (2012-01-12 17:20:27)

    比较特别的属性,通过设置这样的属性可以做出更加美观的列表.stackFromBottom——设置该属性之后你最新条目就会显示你列表的最下面,值为true和false,如android:stackFro ...

  2. 自行实现透明的控件如Panel GroupBox(使用不需要重绘父控件的效果,一切都因为窗口有了WS_EX_TRANSPARENT属性)

    CSDN的Blog开通了.我想这里的Blog作为今后自己回答别人问题的时候,收藏答案的地方很不错呢. 因为社区的贴子早晚都会沉下去,查找起来很不方便,甚至再也找不到呢. Q: http://commu ...

  3. TGraphicControl(自绘就2步,直接自绘自己,不需要调用VCL框架提供的函数重绘所有子控件,也不需要自己来提供PaintWindow函数让管理框架来调用)与TControl关键属性方法速记(Repaint要求父控件执行详细代码来重绘自己,还是直接要求Invalidate无效后Update刷新父控件,就看透明不透明这个属性,因为计算显示的区域有所不同)

    TGraphicControl = class(TControl) private FCanvas: TCanvas; procedure WMPaint(var Message: TWMPaint) ...

  4. 关于repaint(重绘)和reflow( 回流)

    repaint就是重绘,reflow就是回流.repaint主要是针对某一个DOM元素进行的重绘,reflow则是回流,针对整个页面的重排 严重性: 在性能优先的前提下,性能消耗 reflow大于re ...

  5. Android视图状态及重绘流程分析,带你一步步深入了解View(三)

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/17045157 在前面一篇文章中,我带着大家一起从源码的层面上分析了视图的绘制流程, ...

  6. XCODE UITextField 中的属性和用法

    XCODE  UITextField  中的属性和用法 一些基本的用法 UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedR ...

  7. 理解浏览器的重绘与回流(repaint&&reflow)

    今天在做练习的时候,遇到了重绘与回流这个词,表示连个毛都没有听过.遂查之,首先将网上的(http://blog.sina.com.cn/s/blog_8dace7290102wezv.html)关于这 ...

  8. View (四)视图状态及重绘流程分析

    相 信大家在平时使用View的时候都会发现它是有状态的,比如说有一个按钮,普通状态下是一种效果,但是当手指按下的时候就会变成另外一种效果,这样才会给 人产生一种点击了按钮的感觉.当然了,这种效果相信几 ...

  9. 【web性能】页面呈现、重绘、回流

    在讨论页面重绘.回流之前.需要对页面的呈现流程有些了解,页面是怎么把html结合css等显示到浏览器上的,下面的流程图显示了浏览器对页面的呈现的处理流程.可能不同的浏览器略微会有些不同.但基本上都是类 ...

随机推荐

  1. 洛谷P1215 [USACO1.4]母亲的牛奶 Mother's Milk

    P1215 [USACO1.4]母亲的牛奶 Mother's Milk 217通过 348提交 题目提供者该用户不存在 标签USACO 难度普及/提高- 提交  讨论  题解 最新讨论 暂时没有讨论 ...

  2. 正宗PC Unix实验环境

    首先解释一下PCUNIX环境,在PC服务器上可以安装多种UNIX系统例如ScoUnix,SunSolarisx86系统,BSD系统等等,但是唯一应用在生产系统(例如邮政储蓄,证券和某些银行前置机等)的 ...

  3. Loadrunner:安装LR11时提示缺少vc2005_sp1_with_atl_fix_redist

    [问题现象] 安装LR11时提示缺少vc2005_sp1_with_atl_fix_redist: [解决办法] 手动安装缺少的组件,LR安装包中已自带该组件,为何不自动捕捉异常去获取该自带的组件去安 ...

  4. 1.7见识一下什么叫Linux驱动:LED

    1.任何的Linux驱动都有一个装载函数(装载驱动时调用)和一个卸载函数(卸载驱动时调用): 2.装载函数和卸载函数分别通过module_init和module_exit宏指定.

  5. IIS6 + PHP 访问页面出现:需要进行身份验证的问题

    问题描述:之前在IIS6上安装了PHP扩展,发布了一个PHP网站可以正常访问,为了测试网站并发量修改了一个PHP的配置文件以后,再访问就弹出 需要用户名和密码. 同一目录下的 aspx文件可以正常访问 ...

  6. c++库大全

    1.C++各大有名库的介绍——C++标准库 2.C++各大有名库的介绍——准标准库Boost 3.C++各大有名库的介绍——GUI 4.C++各大有名库的介绍——网络通信 5.C++各大有名库的介绍— ...

  7. Ubuntu系统使用记录(持续更新)

    本篇文章记录在虚拟机上跑Ubuntu16.04遇到的一系列问题,熟悉一下Ubuntu的相关操作,进入终端的方法ctrl+alt+t. 1.修改屏幕分辨率,进入系统默认的是800x600 即便能够进入s ...

  8. C#中如何将combox中的下拉项和一个枚举中的各项进行绑定

    实现一个combobox,将其各个下拉项与枚举进行绑定 效果图如下: 代码详解如下: 枚举: public enum StoreSite { /// <summary> /// 未知 // ...

  9. c#中操作word文档-三、MSDN文档

    这是关于word读写的MSDN内容,基本所有的方法都可以在这上面找到 https://msdn.microsoft.com/zh-cn/library/office/ff837519.aspx

  10. mysql 修改字段长度

    mysql 修改字段长度 alter table news  modify column title varchar(130); alter table 表名 modify column 字段名 类型 ...