UITextField经常使用属性概括:文本框样式、文字样式、键盘样式、左右视图样式、清除按钮设置等,iosuitextfield

(1)能够根据须要设置文本框的样式(包括形状、边框颜色、背景等)。ios

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

(3)能够根据须要设置各类不一样的键盘样式(只有数字、只有字母等等)。xcode

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

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

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

(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];
    //设置提示(默认)文字
    textFiled1.placeholder=@"请输入您的密码";
    //设置密文输入,就是和输入密码时相似的显示为小圆点
    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:@"logo-60@3x.png"]];
    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:@"logo-60@3x.png"]];
    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.
}

ios开发,怎使用代码或者其余方式控制切换键盘如今视图中有两个文本框,分别用来输入文字与数字如

 

标记你对应的文本框tag,在将要编辑文本框的方法中判断tag值。
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField; 
根据对应的tag设置不一样的键盘类型ci

相关文章
相关标签/搜索