文档章节

Textfield的常用方法

JoshSone
 JoshSone
发布于 2017/07/11 07:43
字数 466
阅读 10
收藏 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];
}

 

© 著作权归作者所有

共有 人打赏支持
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
UITextField常用属性

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

宇宙执政
2013/04/07
0
0
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常用属性及设置

定义一个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
iOS开发之UIWebView

UIWebView是iOS sdk中一个最常用的控件。是内置的浏览器控件,我们可以用它来浏览网页、打开文档等等。这篇文章我将使用这个控件,做一个简易的浏览器。如下图: 我们创建一个Window-based ...

晨曦之光
2012/03/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

spring 事件

ContextRefreshedEvent Event raised when an {@code ApplicationContext} gets initialized or refreshed. ContextClosedEvent Event raised when an {@code ApplicationContext} gets clos......

Canaan_
32分钟前
1
0
leetcode两数之和

leetcode中求两数之和解决方法 给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。 给定 nums = [2, 7, 11, ...

lar555
48分钟前
1
0
js实现限制网页内容复制

转载 在我们做的网页发到网上后,如果访客看到比较喜欢的内容,只要复制就可以变为自己的,自己辛辛苦苦弄半天还不及人家的一下复制,有时为了只让访客看到,而不能让它们复制内容,就用Jav...

lc_comeon
53分钟前
1
0
jenkins将spring boot项目发布到阿里云镜像中

1、spring boot项目 1.1 pom.xml配置 <artifactId>xxx-docker</artifactId><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.......

xixingzhe
今天
0
0
qsv格式可以在电视上播放吗

  大家都知道qsv格式是爱奇艺的独家缓存格式,是加密的,一般的播放器是无法播放的,只能在爱奇艺播放器上播放,如果想要在电视上播放,就必须要安装爱奇艺播放器,比较麻烦。其实还有一种...

萤火的萤火
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部