2016.01.19 UITextField

1.placeholder(占位符,就是默认提示文本)

  eg:_loginTextField.placeholder = @"QQ号/手机号/邮箱";

2.borderStyle(设置边框类型)

  eg:_loginTextField.borderStyle = UITextBorderStyleRoundedRect;

    各种类型:

    typedef NS_ENUM(NSInteger, UITextBorderStyle) {

     UITextBorderStyleNone,

     UITextBorderStyleLine,

    UITextBorderStyleBezel,    

      UITextBorderStyleRoundedRect

    };

3.keyboardType(键盘类型)

  eg:_loginTextField.keyboardType = UIKeyboardTypeDefault;

    各种类型:

    typedef NS_ENUM(NSInteger, UIKeyboardType) {

     UIKeyboardTypeDefault,

     UIKeyboardTypeASCIICapable,

     UIKeyboardTypeNumbersAndPunctuation,

     UIKeyboardTypeURL,

     UIKeyboardTypeNumberPad,

    UIKeyboardTypePhonePad,

     UIKeyboardTypeNamePhonePad,

    UIKeyboardTypeEmailAddress

    };

4.returnKeyType(return键样式)

  eg:_loginTextField.returnKeyType = UIReturnKeySearch;

    各种样式:

    typedef NS_ENUM(NSInteger, UIReturnKeyType) {

    UIReturnKeyDefault,

     UIReturnKeyGo,

     UIReturnKeyGoogle,

     UIReturnKeyJoin,

      UIReturnKeyNext,

    UIReturnKeyRoute,    

    UIReturnKeySearch,

     UIReturnKeySend,

     UIReturnKeyYahoo,

    UIReturnKeyDone,

    UIReturnKeyEmergencyCall,

     UIReturnKeyContinue NS_ENUM_AVAILABLE_IOS(9_0),    //最高支持iOS9.0

    };

5.clearButtonMode(清除按钮)

  eg:_loginTextField.clearButtonMode = UITextFieldViewModeAlways;

    这样的感觉就是clearButton一直都在那,只不过是没有显示,但是clearButton和rightView只能显示一个。

6.leftView(左边的视图,rightView和leftView类似)

  eg:UIImage *searchImage = [UIImage imageNamed:@"search"];

    UIImageView *searchImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 30, 30)];

    searchImageView.image = searchImage;

    _loginTextField.leftView = searchImageView;

    _loginTextField.leftViewMode = UITextFieldViewModeAlways;

?7.UITextFiled定义了一套代理 用来监听控件的状态变化

  不过,代理的方法都是『optional』,也就是可选的,换句话就是说,不需要每种方法都写出来。

 1 //当键盘的return键被按下了
 2 - (BOOL)textFieldShouldReturn:(UITextField *)textField{
 3     //如何隐藏键盘
 4     //当点击某个textField,那么这个textField将会作为第一响应者,由于是一个textField,需要用户输入相应的内容,系统会自动弹出一个键盘。
 5     //只需要取消这个textField的第一响应者,那么系统就会隐藏键盘
 6     //[textField becomeFirstResponder];
 7     [textField resignFirstResponder];
 8
 9     return YES;
10 }
11
12 //当用户输入过程中,每按下一个字符,那么都会先来调用这个方法
13 - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
14 //    NSLog(@"输入之前的字符串:%@", textField.text);
15 //    NSLog(@"输入了一个字符: %@", string);
16 //    NSLog(@"替换从%ld - %ld", range.location, range.length);
17     NSString *result = [textField.text stringByReplacingCharactersInRange:range withString:string];
18     NSLog(@"替换之后的结果: %@", result);
19     return YES;
20 }
21
22 - (void)textFieldDidBeginEditing:(UITextField *)textField{
23     NSLog(@"开始编辑了");
24 }
25
26 - (void)textFieldDidEndEditing:(UITextField *)textField{
27     NSLog(@"编辑完成");
28 }
29
30 - (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
31     NSLog(@"即将开始编辑");
32     return YES;
33 }
34
35 - (BOOL)textFieldShouldClear:(UITextField *)textField{
36     NSLog(@"清理");
37     return YES;
38 }
39
40 - (BOOL)textFieldShouldEndEditing:(UITextField *)textField{
41     NSLog(@"即将完成编辑");
42     return YES;
43 }

UITextFieldDelegate

8.键盘的唤起和隐藏

  在代理中的第一个方法里写到了隐藏键盘。当点击到textField时,之所以能够唤起键盘是因为,这个时候的第一响应者是textField。换而言之,只要取消了textField的第一响应者键盘也就隐藏了:『[_loginTextField resignFiestResponder];』。想要唤起键盘也只需将其变为第一响应者:『[_loginTextField becomeFirstResponder];』。

9.secureTextEntry(使用密文显示)

  eg:_hiddenTextField.secureTextEntry = YES;    //很容易发现,这个属性是一个BOOL类型的

  默认值为NO,当设为YES的时候,键盘的样式也会随之改变,没有首字母大写,没有自动修正功能。

时间: 2024-10-10 22:28:31

2016.01.19 UITextField的相关文章

2016.01.19 UIImageView

UIImageView是在界面上显示图片的一个控件. 1.contentMode 当图片的大小和控件的大小不一致的时候,就会调用到这个属性.这个属性是用来设置图片的显示方式,如居中.居右,是否缩放等,有以下几个常量可供设定: UIViewContentModeScaleToFill : 拉伸填充到整个控件大小 UIViewContentModeScaleAspectFit 保持图片的原始比例缩放,保证整个图片都在空间中的前提,横向或纵向一方填满整个屏幕 UIViewContentModeScal

2016.01.18-2016.01.21盲审通关修改

请以上同学在1月21日(星期四)之前将以下材料交到研究生科: 1.装订好的硕士学位论文3本(注意:封面上作者姓名和指导教师隐去.致谢隐去.硕士学位期间发表的全部的论文作者隐去): 2.普通信封上写明评阅费:200元.邮寄费:22元,并将相应的钱款分别装入以上三个信封(普通信封,一共:200*3+22*3元): 3.从研究生管理信息系统中导出的“论文评阅书”封面上的作者姓名和指导教师姓名隐去:交三份“论文评阅书”和三份“学位论文评阅聘书”. 4.交三份“EMS”信封和一个装有20×3=60元邮寄费

[官方软件] Easy Sysprep v4.3.29.602 【系统封装部署利器】(2016.01.22)--skyfree大神

[官方软件] Easy Sysprep v4.3.29.602 [系统封装部署利器](2016.01.22) Skyfree 发表于 2016-1-22 13:55:55 https://www.itsk.com/forum.php?mod=viewthread&tid=362766&highlight=Easy%2BSysprep [官方软件] Easy Sysprep v4.3.29.602 [系统封装部署利器](2016.01.22) [Easy Sysprep]概述:Easy Sy

Murano Weekly Meeting 2016.07.19

Meeting time: 2016.July.19 1:00~2:00 Chairperson:  Kirill Zaitsev, from Mirantis Meeting summary: 1.Backports Link:  https://etherpad.openstack.org/p/murano-stable-backports/ 2.Convergence so both of our CI servers are running heat with convergence n

2016.01工作日志

2016.01.01 元旦在家,八点醒,开始继续阅读「30日でできる!OS自作入門」.主要目的,加深对os和cpu的理解.另外花些时间又重温王爽的<汇编语言>.今天,最大收获还是感官上体会系统底层:比如往内存xxxx里写入0或者1就可以实现操作系统对xxxx部件的控制.另外,看到了「30日でできる!OS自作入門」中自制操作系统的内存图,就可以知道,内存这种东西,就是操作系统,或者cpu规划的.内存本身是不分段的.内存的哪一段是ram哪一段是bios显卡,改变其地址值就可以实现特定效果. 对于这

2016.1.19 DEV Express控件GirdControl使用

DEV控件在工具箱中消失处理方法 开始-->程序-->Developer Express v2009 vol 3(依据版本不同)-->Components-->Tools-->ToolboxCreator   1.点击一行选择完整一行 Run Designer->View->OptionsBehavior->EditorShowMode 设置为:Click Run Designer->View->OptionsSelection.EnableAp

2017-02-08 01:19:09 Scrapy: pk5_mylist

[TOC] ###2017-02-08 01:19:09 Scrapy: pk5_mylist.md > Save the records with MongoDB #### settings.py ``` # -*- coding: utf-8 -*- BOT_NAME = 'bengbeng' SPIDER_MODULES = ['bengbeng.spiders'] NEWSPIDER_MODULE = 'bengbeng.spiders' ROBOTSTXT_OBEY = True IT

翻译:Gregory Larsen,2016/02/19(第一版:2014年12月17日)高级T-SQL阶梯1级:使用CROSS JOIN介绍高级T-SQL

原文链接:http://www.sqlservercentral.com/articles/Stairway+Series/119933/ 原文作者:Gregory Larsen,2016/02/19(第一版:2014年12月17日) 系列 本文是"Stairway Series:Stairway to Advanced T-SQL"的一部分 这个阶梯将包含一系列文章,这些文章将在前面两个T-SQL阶梯,T-SQL DML和T-SQL超越基础知识的T-SQL基础上进行扩展. 这个楼梯应

现代软件工程团队项目贝塔阶段_开发日志_2018.01.15-2018.01.19

现代软件工程团队项目贝塔阶段_开发日志_2018.01.15-2018.01.19 2018.01.15 已完成: 1.版本上线 1.1上线操作步骤 1.1.1将网站整体文件夹拷贝到keqi1 1.1.2修改microDefinition.php的数据库名和根目录名 1.1.3修改注册界面发送验证码后直接填充功能 1.1.4修改del的主id的class为hide 1.1.5重新运行根目录的111.php(消除红点,也就是消除服务器返回的多余字符) 1.2修复上线过程中遇到的bug  1.2.1