UITextField的常用属性,Delegate,重绘

?

?

一 ?属性

    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属性,来实现避免输入的内容顶格显示的问题.

?

?

?

时间: 2024-12-28 16:10:00

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

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

比较特别的属性,通过设置这样的属性可以做出更加美观的列表.stackFromBottom——设置该属性之后你最新条目就会显示你列表的最下面,值为true和false,如android:stackFromBottom="true"    transciptMode 属性——listview自动滑到最底部,用来显示最新条目.常用于ListView或者其它显示大量Items的控件实时跟踪或者查看信息,并且希望最新的条目可以自动滚动到可视范围内.如: android:transcriptMod

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

CSDN的Blog开通了.我想这里的Blog作为今后自己回答别人问题的时候,收藏答案的地方很不错呢. 因为社区的贴子早晚都会沉下去,查找起来很不方便,甚至再也找不到呢. Q: http://community.csdn.net/Expert/TopicView.asp?id=3106090 言归正传,要实现一些标准的容器类控件的透明效果,也许是个经常会想到的问题.事实上在2000以上的系统下实现起来相当容易. 你不需要重绘父控件的效果,一切都因为窗口有了WS_EX_TRANSPARENT的属性可

UITextField控件属性

UITextField控件属性: enablesReturnKeyAutomatically 默认为No,如果设置为Yes,文本框中没有输入任何字符的话,右下角的返回按钮是disabled的. 1.borderStyle 设置边框样式,只有设置了才会显示边框样式 text.borderStyle = UITextBorderStyleRoundedRect; typedef enum { UITextBorderStyleNone, UITextBorderStyleLine, UITextBo

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

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/17045157 在 前面一篇文章中,我带着大家一起从源码的层面上分析了视图的绘制流程,了解了视图绘制流程中onMeasure.onLayout.onDraw这三个最 重要步骤的工作原理,那么今天我们将继续对View进行深入探究,学习一下视图状态以及重绘方面的知识.如果你还没有看过我前面一篇文章,可以先去阅读 Android视图绘制流程完全解析,带你一步步深入了解View(二) .

SVG DOM常用属性和方法介绍

将以Adobe SVG Viewer提供的属性和方法为准,因为不同解析器对JavaScript以及相关的属性和方法支持的程度不同,有些方法和属性是某个解析器所特有的.SVG支持DOM2标准. 12.2.1  文档初始化相关 evt属性 evt表示事件本身,可以通过evt获取与当前事件相关的信息,用户可以在script中定义响应函数,进行相应的处理.它与普通JavaScript脚本中的event基本相同,只不过在普通JavaScript的脚本中简写成“e”. ownerDocument属性 通过引

前端必备的浏览器知识(渲染过程、回流和重绘等)

常用哪几种浏览器测试?有哪些浏览器内核(Rendering Engine)? (Q1)浏览器:Chrome,IE,FireFox,Safari,Opera. (Q2)对应内核:Webkit,Trident,Gecko,Webkit,Presto.(国内的浏览器,除了傲游是直接基于Webkit开发的,其他基本都是基于谷歌在webkit上开发的Chromium,当然谷歌自己也是用的Chromium.另外值得的一提的是手机的系统(安卓.苹果)默认浏览器都是基于webkit内核的) 如何理解浏览器内核?

页面的重绘与回流及优化

首先要清楚页面呈现的具体过程: 1.  浏览器把获取到的HTML代码解析成1个DOM树,HTML中的每个tag都是DOM树中的1个节点,根节点就是我们常用的document对象.DOM树里包含了所有HTML标签,包括display:none隐藏,还有用JS动态添加的元素等. 2. 浏览器把所有样式(用户定义的CSS和用户代理)解析成样式结构体,在解析的过程中会去掉浏览器不能识别的样式,比如IE会去掉-moz开头的样式,而FF会去掉_开头的样式. 3.DOM Tree 和样式结构体组合后构建ren

Delphi 常用属性说明(超长)

Delphi组件的常用事件Onclick——当单击时触发这个事件中的代码Onchange——当改变该组件内容时触发其中的代码Oncreate——当创建时触发这个事件中的代码Onclose——当关闭的时候触发其中的代码OnKeyDown——当按下键盘上的键时触发该处代码OnKeyUp——当松开键盘上的键时触发该处代码OnKeyPress——当有键盘动作的时候触发该处代码OnMouseUp——当松开鼠标时触发其中代码OnMouseDown——当按下鼠标时触发其中代码OnMouseMove——移动鼠标

【转】Phone重绘机制drawRect

Phone重绘机制drawRect 如何使用iPhone进行绘图.重绘操作iPhone的绘图操作是在UIView类的drawRect方法中完成的,所以如果我们要想在一个UIView中绘图,需要写一个扩展UIView 的类,并重写drawRect方法,在这里进行绘图操作,程序会自动调用此方法进行绘图. 下面先说明一下绘图,比如,你想绘制一个方块,你需要写一个类来扩展UIView并在drawRect方法中填入如下代码: - (void)drawRect:(CGRect)rect {      //