文档章节

Textfield的常用方法

JoshSone
 JoshSone
发布于 2017/07/11 07:43
字数 466
阅读 10
收藏 0
点赞 0
评论 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
博文 62
码字总数 32794
作品 0
长春
iOS工程师
常用UI控件和常用类

1.UILabel、UISwitch、UISlider、UIPageControl、UIActivityIndicatorView 、UIProgressView、UISegmentedControl、UITextField、UIToolbar ·UILabel ·作用:显示文本 ·常用属性 // 设置文......

人生天地间 ⋅ 2014/05/28 ⋅ 0

UITextField 常用属性

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

常思过 ⋅ 2013/09/20 ⋅ 2

iOS开发之UIWebView

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

晨曦之光 ⋅ 2012/03/09 ⋅ 0

Objective-C --- - UITextField(梳理总结)

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

都英俊兮 ⋅ 2016/06/07 ⋅ 0

UITextField常用属性

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

宇宙执政 ⋅ 2013/04/07 ⋅ 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 ⋅ 0

Swift工具类总结

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

辉哥de简书 ⋅ 01/10 ⋅ 0

UITextField详解之一:UITextField基本属性

UITextField是IOS开发中用户交互中重要的一个控件,常被用来做账号密码框,输入信息框等。创建一个用于输入的UITextField其实很简单,在平时使用中,更多的是需要 UITextField和其他UI控件之...

hi-小疯疯 ⋅ 2016/01/23 ⋅ 0

Flex字体篇——动态嵌入字体

概述 Flex编译器,位于flex sdk的bin目录,例如:Flash Builder 4 sdk 3.5 "C:/Program Files/Adobe/Adobe Flash Builder 4/sdks/3.5.0/bin", 编译器的详细使用说明参考官方文档Using the F...

彭博 ⋅ 2012/03/09 ⋅ 0

iOS 常用组件-高效切圆角方法总结

点击上方“程序员大咖”,选择“置顶公众号” 关键时刻,第一时间送达! 前言 iOS 客户端开发中,经常碰到圆角视图的需求,本文简单总结一下 UIView 及其子类的一些切圆角方法,并且保证避免...

px01ih8 ⋅ 2017/12/10 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

笔试题之Java基础部分【简】【一】

基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语法,集合的语法,io 的语法,虚拟机方面的语法,其他 1.length、length()和size() length针对...

anlve ⋅ 21分钟前 ⋅ 1

table eg

user_id user_name full_name 1 zhangsan 张三 2 lisi 李四 `` ™ [========] 2018-06-18 09:42:06 星期一½ gdsgagagagdsgasgagadsgdasgagsa...

qwfys ⋅ 45分钟前 ⋅ 0

一个有趣的Java问题

先来看看源码: public class TestDemo { public static void main(String[] args) { Integer a = 10; Integer b = 20; swap(a, b); System.out......

linxyz ⋅ 50分钟前 ⋅ 0

十五周二次课

十五周二次课 17.1mysql主从介绍 17.2准备工作 17.3配置主 17.4配置从 17.5测试主从同步 17.1mysql主从介绍 MySQL主从介绍 MySQL主从又叫做Replication、AB复制。简单讲就是A和B两台机器做主...

河图再现 ⋅ 今天 ⋅ 0

docker安装snmp rrdtool环境

以Ubuntu16:04作为基础版本 docker pull ubuntu:16.04 启动一个容器 docker run -d -i -t --name flow_mete ubuntu:16.04 bash 进入容器 docker exec -it flow_mete bash cd ~ 安装基本软件 ......

messud4312 ⋅ 今天 ⋅ 0

OSChina 周一乱弹 —— 快别开心了,你还没有女友呢。

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @莱布妮子 :分享吴彤的单曲《好春光》 《好春光》- 吴彤 手机党少年们想听歌,请使劲儿戳(这里) @clouddyy :小萝莉街上乱跑,误把我认错成...

小小编辑 ⋅ 今天 ⋅ 8

Java 开发者不容错过的 12 种高效工具

Java 开发者常常都会想办法如何更快地编写 Java 代码,让编程变得更加轻松。目前,市面上涌现出越来越多的高效编程工具。所以,以下总结了一系列工具列表,其中包含了大多数开发人员已经使用...

jason_kiss ⋅ 昨天 ⋅ 0

Linux下php访问远程ms sqlserver

1、安装freetds(略,安装在/opt/local/freetds 下) 2、cd /path/to/php-5.6.36/ 进入PHP源码目录 3、cd ext/mssql进入MSSQL模块源码目录 4、/opt/php/bin/phpize生成编译配置文件 5、 . ./...

wangxuwei ⋅ 昨天 ⋅ 0

如何成为技术专家

文章来源于 -- 时间的朋友 拥有良好的心态。首先要有空杯心态,用欣赏的眼光发现并学习别人的长处,包括但不限于工具的使用,工作方法,解决问题以及规划未来的能力等。向别人学习的同时要注...

长安一梦 ⋅ 昨天 ⋅ 0

Linux vmstat命令实战详解

vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。这个命令是我查看Linux/Unix最喜爱的命令...

刘祖鹏 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部