iostextField文本框基本使用

(1)可以根据需要设置文本框的样式(包括形状、边框颜色、背景等)。

(2)可以根据需要设置文字显示样式(包括输入密码时的密文显示、文字横向居中、纵向居中上下、输入的文字是否首席木大写、文字超过后是否缩小还是向右滚动等)。

(3)可以根据需要设置各种不同的键盘样式(只有数字、只有字母等等)。

(4)还有inputView可以弹出一个视图,用于取代弹出键盘,暂时不知道什么用处,但貌似可以用得地方很多啊。

(5)还有return的样式设置,可以设置为Google也可以设置为Go和Search等更形象的按钮。

(6)还有一个clearsOnBeginEditing是否设置清除按钮也很常用。

(7)还有用得比较多得估计是左右视图,也就是我们常见的用户名和密码的前面还有一个小icon图片表示用户的“小人”和表示密码的“锁”的图片,用左右视图可以加载进来,当然最后要记得设置左右视图模式为Always,不然默认是Never不显示的。

- (void)viewDidLoad {
    //textfiled1本想是textField1的,但不影响
    UITextField *textFiled1=[[UITextField alloc]init];
    //此时textField1已存在,但因为是透明背景,所以看不见,但是点击那块地方会发现光标闪烁可写
    //为了证明是透明背景而不是白色背景,我们可以设置self.view背景为红色,看看textField1是白色还是透明色
//    self.view.backgroundColor=[UIColor redColor];
    textFiled1.frame=CGRectMake(10, 30, 300, 30);
    //设置边框样式
    //UITextBorderStyleRoundedRect-圆角矩形,背景是白色,不再是透明的
    //UITextBorderStyleLine-矩形,黑色边框,透明背景
    //UITextBorderStyleBezel-和上面类似,但是是灰色的边框,背景透明
    textFiled1.borderStyle=UITextBorderStyleRoundedRect;
    //设置背景颜色,会覆盖上面圆角矩形默认的白色背景
    textFiled1.backgroundColor=[UIColor purpleColor];
    //设置提示(默认)文字
    [email protected]"请输入您的密码";
    //设置密文输入,就是和输入密码时类似的显示为小圆点
    textFiled1.secureTextEntry=YES;
    //设置键盘样式,比如银行取款密码只需要数字,有的输入邮箱需要@等等
    //UIKeyboardTypeAlphabet和UIKeyboardTypeDefault类似,就是我们平时看到那样,都是字母,然后有个按键可以切换符号
    //UIKeyboardTypeASCIICapable好像和上面差不多
    //UIKeyboardTypeDecimalPad,UIKeyboardTypeNumberPad都是数字,但前者多了一个“小数点”按键
    //UIKeyboardTypeEmailAddress-除了字母还有小数点和@出现
    //UIKeyboardTypeNamePhonePad-貌似正常
    //UIKeyboardTypePhonePad-电话键盘,不仅有数字还有*和#的那种
    //UIKeyboardTypeNumbersAndPunctuation-只有数字和标点符号
    //UIKeyboardTypeTwitter-除了字母还有@和#,这是微博的符号
    //UIKeyboardTypeURL-除字母,还有.com按钮,方便输入
    //UIKeyboardTypeWebSearch-主要区别在于return键变成了GO键
    //注意:如果是最xcode6下的模拟器的话,默认是不调出软键盘的,按CMD+K可以调出,或者在菜单Hardware里地Keyboard里设置
    textFiled1.keyboardType=UIKeyboardTypeWebSearch;
    //设置键盘外观
    //UIKeyboardAppearanceDark和UIKeyboardAppearanceAlert都是把键盘背景变成半透明灰色区别不明显
    //UIKeyboardAppearanceLight貌似和UIKeyboardAppearanceDefault一样,没啥区别
    textFiled1.keyboardAppearance=UIKeyboardAppearanceAlert;

    //设置弹出视图,inputView即弹出的不是键盘而是这个视图
    //设置的frame时,只有高度有用,其他x和y和宽都是无效的,宽是默认的整个键盘宽度
    UIImageView *imgView1=[[UIImageView alloc]initWithImage:[UIImage imageNamed:@"[email protected]"]];
    imgView1.frame=CGRectMake(60, 60, 300, 300);
    textFiled1.inputView=imgView1;

    //设置左视图,就是用户名和密码,有时候放个图片的位置
    UIView *view1=[[UIView alloc]init];
    //x和y无效,x都是0,而y是根据高度来自动调整的。即高度如果超过textField则默认是textField高,如小于textField高度,则上下居中显示。唯一有效的就是宽度
    view1.frame=CGRectMake(10, 500, 50, 10);
    view1.backgroundColor=[UIColor orangeColor];
    textFiled1.leftView=view1;
    //最重要的时:默认它是不显示的即UITextFieldViewModeNever,我们可以设置永远显示UITextFieldViewModeAlways
    //UITextFieldViewModeUnlessEditing-一开始就有,点击框,呃,貌似还有
    //UITextFieldViewModeWhileEditing-一开始没有,点击框就出现
    textFiled1.leftViewMode=UITextFieldViewModeAlways;

    //同样,我们可以设置右视图,当然也可以加载和图片进来
    UIImageView *imgView2=[[UIImageView alloc]initWithImage:[UIImage imageNamed:@"[email protected]"]];
    imgView2.frame=CGRectMake(10, 500, 50, 10);
    textFiled1.rightView=imgView2;
    textFiled1.rightViewMode=UITextFieldViewModeAlways;

    //设置清除按钮,就是那个叉叉X,一点击整个输入框的文字全部删除重新输入的那个X(我们先注释掉不让右视图显示,来查看效果)
    //其实我们在写clearButtonMode是它又提示说这是一个UITextFieldViewMode类型,所以也是和上面一样
    textFiled1.clearButtonMode=UITextFieldViewModeWhileEditing;

    //再次编辑时是否清空内容,这个除特定场景外很少用,会让用户抓狂的
    //当然为了模拟再次编辑,我们需要鼠标点到其他地方然后再点回来,所以再创建一个textField
    textFiled1.clearsOnBeginEditing=NO;
    //这个clearsOnInsertion貌似点击回去再次编辑时不清楚,但是只要一输入内容就会清除之前的
    textFiled1.clearsOnInsertion=YES;
    UITextField *textField2=[[UITextField alloc]init];
    textField2.frame=CGRectMake(10, 80, 300, 100);
    textField2.borderStyle=UITextBorderStyleRoundedRect;
    [self.view addSubview:textField2];

    //我们用上面创建的textField2来做如下
    //纵向对齐方式,默认是居中
    //UIControlContentVerticalAlignmentCenter居中,所以Top、Bottom就是居上居下。Fill貌似和Top差不多
    textField2.contentVerticalAlignment=UIControlContentVerticalAlignmentFill;
    //当然还有横向对齐
    //也有左中右和Fill四种,但是貌似没看到什么效果,可能对文字无效,因为有专门的针对文字的设置
    textField2.contentHorizontalAlignment=UIControlContentHorizontalAlignmentRight;
    //设置文字对齐方式
    //同样我们输入textAlignment时有提示是NSTextAlignment类型,有好几种,不细讲
    textField2.textAlignment=NSTextAlignmentCenter;
    //设置调整文字大小以适配宽度(即输入不下时缩小文字,实在缩小不了了,就向后滚动),默认是向右滚动的
    textField2.adjustsFontSizeToFitWidth=YES;
    //设置最小字号,和上面有关,即小于这个字号的时候,我就不缩小了,直接向右滚动
    textField2.minimumFontSize=2;
    //设置字母大小样式,输入autocapitalizationType时有提示是UITextAutocapitalizationType类型
    //UITextAutocapitalizationTypeAllCharacters-所有字母大写(用键盘输入的话发现失效,需要用软键盘输入才有效,以下同理)
    //UITextAutocapitalizationTypeWords-单词首字母大写
    //UITextAutocapitalizationTypeSentences-句首字母大写
    textField2.autocapitalizationType=UITextAutocapitalizationTypeSentences;

    //设置return样式,有Done/Go/Next/Join/Google/Search/Yahoo/EmergencyCall/Send等,除了默认外,其他的按钮都是蓝颜色背景
    textField2.returnKeyType=UIReturnKeyEmergencyCall;

    [self.view addSubview:textFiled1];

    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}
时间: 2024-11-12 07:44:12

iostextField文本框基本使用的相关文章

设置input文本框只读效果

设置input文本框只读效果:在实际应用中可能需要将input文本框设置为只读状态,代码实际非常简单,只要添加一个属性即可.代码如下: <input type="text" value="蚂蚁部落" readonly/> 使用readonly属性即可将文本框设置为只读状态,具体可以参阅<input>标签的readonly属性一章节. 原文地址:http://www.51texiao.cn/HTML5jiaocheng/2015/0521/21

M牛C原创博客——UI之文本框输入键盘自动退出,点击空白处退出,切换下个文本框

如何关闭系统弹出的键盘? 1)触屏动作发生后的系统处理过程 step1:查找hitView 系统捕获到触屏动作后,记录触点的坐标,给window发hitTest:消息,并告知出点坐标,window会给所有直接子对象发送hitTest消息,告知点坐标,子对象检测坐标是否在其中,如果不在其中,则返回nil,如果点在其中,则再继续给所有直接子视图发消息,直到某一个子视图,不再有子视图,且触点在其中,则返回这个对象,系统就找到了本次点击的对象 step2:找到hitView后,执行事件响应 查看找到的h

微信内置浏览器浏览H5页面弹出的键盘遮盖文本框的解决办法

Android微信内置浏览H5页面,因为其中的文本输入框(input)放置在靠近页面的中下方,点击文本框以后,则输入框会被弹出的手机输入法键盘遮盖住. 找到一段js代码直接解决之,点击时强制滚动之,好像也解决了在Android浏览器下浏览的同样问题. 1 if(/Android [4-6]/.test(navigator.appVersion)) { 2 window.addEventListener("resize", function() { 3 if(document.activ

IOS系统下虚拟键盘遮挡文本框问题的解决

最近在项目中发现同样的代码在Android端微信网页中点击文本框唤出的虚拟键盘不会遮挡文本框,但是在IOS端的微信网页中点击文本框唤出的键盘却在大部分情况下会遮挡文本框 经过高人指点,这个问题终于解决了 下面说说解决办法: 主要代码 document.body.scrollTop = document.body.scrollHeight; 然后在文本框获取焦点的时候,可以定义一个计时器,一直执行上面的那句话 在文本框失去焦点的时候,就把之前的计时器清除掉即可 js写法: let interval

jQuery 特效【文本框折叠隐藏,展开显示】

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server&quo

HTML文本框样式

1 输入框景背景透明: 2 <input style="background:transparent;border:1px solid #ffffff"> 3 4 鼠标划过输入框,输入框背景色变色: 5 <INPUT value="Type here" NAME="user_pass" TYPE="text" SIZE="29" onmouseover="this.style.b

文本框控件JTextField和JTextArea的使用

-----------------siwuxie095 工程名:TestUI 包名:com.siwuxie095.ui 类名:TestTextFieldAndTextArea.java 工程结构目录如下: 在 Design 的根面板 contentPane 的上中下分别添加 一个 JTextField.JTextArea.JButton JTextField 即 单行文本框,JTextArea 即 多行文本框 文本框是文本的编辑器,可以指定文本的初始数据 即默认文本(text), 可以指定文字的

jQuery监控文本框事件并作相应处理的方法

本文实例讲述了jQuery监控文本框事件并作相应处理的方法.分享给大家供大家参考.具体如下: //事情委托 $(document)  .on('input propertychange', '#query', function(){   var input = $(this).val();   show(input);  });  var show = function(txt){   var info = '监听:<b>' + txt + '</b><br /><

WinForm笔记一:文本框只允许输入数字

在WinForm的文本框中,有时候只允许数字,而不能输入除数字以外的其他字符,要调用TextBox的KeyPress事件,代码如下: //只允许输入数字 if (e.KeyChar<'0'||e.KeyChar>'9') { e.Handled = true; } //允许输入退格键 if (e.KeyChar == 8) { e.Handled = false; } TextBox tBox = sender as TextBox;        //哪个文本框调用,tBox 就是哪个文本框