文档章节

Textfield的常用方法

JoshSone
 JoshSone
发布于 2017/07/11 07:43
字数 466
阅读 11
收藏 0

Tips:

如果不弹出键盘

在启动模拟器的时候 菜单顶部有一个hardware按钮,里面有一个keyboard选项,点一下toggle blabla的那个选项,应该就行了

    /*
     *  初始化Textfiled
     *
     */
    
    UITextField *tf = [[UITextField alloc]initWithFrame:CGRectMake(0, 50, [UIScreen mainScreen].bounds.size.width, 40)];
    
    //更改提示信息内容
    tf.placeholder = @"";

    //更改return显示效果
    
    /*
     UIReturnKeyDefault,        -默认效果
     UIReturnKeyGo,             -开始
     UIReturnKeyGoogle,         -搜索
     UIReturnKeyJoin,           -加入
     UIReturnKeyNext,           -下一步
     UIReturnKeySearch,         -搜索
     UIReturnKeySend,           -发送
     UIReturnKeyYahoo,          -日本
     UIReturnKeyDone,           -结束
     UIReturnKeyEmergencyCall,
     */
    tf.returnKeyType = UIReturnKeyDone;

    //键盘外观样式
    
    /*
     UIKeyboardAppearanceDefault,          // Default apperance for the current input method.
     UIKeyboardAppearanceDark NS_ENUM_AVAILABLE_IOS(7_0),
     UIKeyboardAppearanceLight NS_ENUM_AVAILABLE_IOS(7_0),
     UIKeyboardAppearanceAlert
     */
    
    tf.keyboardAppearance = UIKeyboardAppearanceAlert;
    
    //键盘类型
    /*
     UIKeyboardTypePhonePad - 电话键盘
     UIKeyboardTypeNumberPad - 纯数字
     UIKeyboardTypeEmailAddress - email地址键盘
     */
    tf.keyboardType = UIKeyboardTypeASCIICapable;
    
    //秘密输入
    tf.secureTextEntry = YES;

    //内容的对齐方式
    tf.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
    tf.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;
    
    //清空按键出现的时机
    tf.clearButtonMode = UITextFieldViewModeAlways;
    
    /*
     UITextBorderStyleNone,         -默认
     UITextBorderStyleLine,         -直线框
     UITextBorderStyleRoundedRect   -曲线框
     */
    tf.borderStyle =  UITextBorderStyleLine;
    
    tf.delegate = self;

    //自定义_clearButton(修改clearButton图片样式)

    UIButton *clearButtonpassword = [tf valueForKey:@"clearButton"];
    UIImage *image = [UIImage imageNamed:@"Login_icon_delete"];
    [clearButtonpassword setImage:image forState:UIControlStateNormal];

    
    self.tf = tf;
    
    [self.view addSubview:tf];
    
}


/*
    TextField - delegate
    三个常用方法
 
 textFieldShouldReturn - 取消响应事件
 shouldChangeCharactersInRange - 修改文字
 textFieldShouldEndEditing - 用户输入结束后,需要获得输入的内容
 */

-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
    //点击returen之后的方法
    //取消键盘输入
    //[textField resignFirstResponder];
    
//输入用户名(这里的textField最好创建一个UIView类,便于复用)
     if (textField == _usernametextField)
    {
        [_usernametextField resignFirstResponder];
        [_passwordtextField becomeFirstResponder];
    }
//输入密码
    else if (textField == _passwordtextField)
    {
        [_passwordtextField resignFirstResponder];
        if (!txtAuthCodetextField.hidden)//如果验证码框存在,弹出键盘
            [txtAuthCodetextField becomeFirstResponder];
    }
//输入验证码
    else if (textField == txtAuthCodetextField)
    {
        [txtAuthCodetextField resignFirstResponder];
    }

    return YES;
}

//输入内容发生改变就会触发shouldChangeCharactersInRange
//包括输入,删除,粘贴内容
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
    NSLog(@"replacementString - %@",string);
    return YES;
}


//用户输入结束后,需要获得输入的内容,在这里
-(BOOL)textFieldShouldEndEditing:(UITextField *)textField
{
    NSLog(@"textField - text - %@",textField.text);
    return YES;
}
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    // 当捕捉到触摸事件时,取消UITextField的第一相应
    [self removeResignFirstResponder];
}

 

© 著作权归作者所有

共有 人打赏支持
上一篇: iOS 重定向
JoshSone
粉丝 7
博文 76
码字总数 32794
作品 0
长春
iOS工程师
私信 提问
UITextField 常用属性

//初始化textfield并设置位置及大小 UITextField *text = [[UITextField alloc]initWithFrame:CGRectMake(20, 20, 130, 30)]; //设置边框样式,只有设置了才会显示边框样式 text.borderStyle...

常思过
2013/09/20
0
2
Objective-C --- - UITextField(梳理总结)

//省的下面打 先定义好来 #define kWidthOfScreen ([UIScreen mainScreen].bounds.size.width) #define kHeightOfScreen ([UIScreen mainScreen].bounds.size.height) @interface ViewContr......

都英俊兮
2016/06/07
33
0
UITextField常用属性

UITextField是我们经常用的之一但是常用的属性都很熟悉,有些不常用的我也总结下,例如下面的: UIImageView * myView = [[ UIImageView alloc]initWithImage:[UIImage imageNamed:@"face.p...

宇宙执政
2013/04/07
0
0
UITextField常用属性及设置

定义一个TextField userNameField = [[UITextField alloc]initWithFrame:CGRectMake(userNameImg.frame.origin.x+30,userNameImg.frame.origin.y,165, 40)]; 1. userNameField.placeholder =......

JasonMs
2015/09/16
14
0
Swift工具类总结

swift出来也好长时间了,现在swift出到了4.0,版本也相对比较稳定了,所以决定准备用swift来开发新的项目。俗话说工欲善其事,必先利其器,所以在开始正式写项目之前我总结了一些常用的工具类...

辉哥de简书
2018/01/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

如何在 Linux 系统查询机器最近重启时间

在你的 Linux 或类 UNIX 系统中,你是如何查询系统上次重新启动的日期和时间?怎样显示系统关机的日期和时间? last 命令不仅可以按照时间从近到远的顺序列出该会话的特定用户、终端和主机名...

来来来来来
26分钟前
0
0
Redis协议是什么样的

前言 我们用过很多redis的客户端,有没有相过自己撸一个redis客户端? 其实很简单,基于socket,监听6379端口,解析数据就可以了。 redis协议 解析数据的过程主要依赖于redis的协议了。 我们...

春哥大魔王的博客
43分钟前
2
0
乱入Linux界的我是如何学习的

欢迎来到建哥学Linux,咳!咳!咳!开个玩笑哈,我是一个IT男,IT界的入门选手,正在学习Linux。 在之前,一直想进军IT界,学习IT技术,但是苦于没有人指导,也不知道学什么,最开始我自己在...

linuxCool
今天
1
0
携程Apollo统一配置中心的搭建和使用(java)

一.Apollo配置中心介绍 1、What is Apollo 1.1 Apollo简介 Apollo(阿波罗)是携程框架部门研发的开源配置管理中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到...

morpheusWB
今天
1
0
远程获得的有趣的linux命令

使用这些工具从远程了解天气、阅读资料等。 我们即将结束为期 24 天的 Linux 命令行玩具日历。希望你有一直在看,如果没有,请回到开始,从头看过来。你会发现 Linux 终端有很多游戏、消遣和...

Linux就该这么学
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部