一、键盘风格

UIKit框架支持8种风格键盘。

  1. typedef enum {
  2. UIKeyboardTypeDefault,                // 默认键盘:支持所有字符
  3. UIKeyboardTypeASCIICapable,           // 支持ASCII的默认键盘
  4. UIKeyboardTypeNumbersAndPunctuation,  // 标准电话键盘,支持+*#等符号
  5. UIKeyboardTypeURL,                    // URL键盘,有.com按钮;只支持URL字符
  6. UIKeyboardTypeNumberPad,              //数字键盘
  7. UIKeyboardTypePhonePad,               // 电话键盘
  8. UIKeyboardTypeNamePhonePad,           // 电话键盘,也支持输入人名字
  9. UIKeyboardTypeEmailAddress,           // 用于输入电子邮件地址的键盘
  10. } UIKeyboardType;

用法用例:

textView.keyboardtype= UIKeyboardTypeNumberPad;

二、键盘外观

  1. typedef enum {
  2. UIKeyboardAppearanceDefault,    // 默认外观:浅灰色
  3. UIKeyboardAppearanceAlert,      //深灰/石墨色
  4. } UIKeyboardAppearance;

用法用例:

textView.keyboardAppearance=UIKeyboardAppearanceDefault;

三、回车键

  1. typedef enum {
  2. UIReturnKeyDefault, //默认:灰色按钮,标有Return
  3. UIReturnKeyGo,  //标有Go的蓝色按钮
  4. UIReturnKeyGoogle, //标有Google的蓝色按钮,用于搜索
  5. UIReturnKeyJoin, //标有Join的蓝色按钮
  6. UIReturnKeyNext, //标有Next的蓝色按钮
  7. UIReturnKeyRoute, //标有Route的蓝色按钮
  8. UIReturnKeySearch, //标有Search的蓝色按钮
  9. UIReturnKeySend, //标有Send的蓝色按钮
  10. UIReturnKeyYahoo, //标有Yahoo!的蓝色按钮,用于搜索
  11. UIReturnKeyDone, //标有Done的蓝色按钮
  12. UIReturnKeyEmergencyCall, //紧急呼叫按钮
  13. } UIReturnKeyType;

用法用例:

textView.returnKeyType=UIReturnKeyGo;

四、自动大写

  1. typedef enum {
  2. UITextAutocapitalizationTypeNone, //不自动大写
  3. UITextAutocapitalizationTypeWords, //单词首字母大写
  4. UITextAutocapitalizationTypeSentences, //句子首字母大写
  5. UITextAutocapitalizationTypeAllCharacters, //所有字母大写
  6. } UITextAutocapitalizationType;

用法用例:

textField.autocapitalizationType = UITextAutocapitalizationTypeWords;

五、自动更正

  1. typedef enum {
  2. UITextAutocorrectionTypeDefault,//默认
  3. UITextAutocorrectionTypeNo,//不自动更正
  4. UITextAutocorrectionTypeYes,//自动更正
  5. } UITextAutocorrectionType;

用法用例:

textField.autocorrectionType = UITextAutocorrectionTypeYes;

六、安全文本输入

textView.secureTextEntry=YES;

开启安全输入主要是用于密码或一些私人数据的输入,此时会禁用自动更正和自此缓存。

统计字符和响应RETURN键

统计字符:

1、UITextView

- (void)textViewDidChange:(UITextView *)textView
{
int count = [textView.text length];
//这里的count就是字符个数了
}

2、UITextField

方法一:

自己先为UITextField的Editing Changed事件添加一个响应方法

-(IBAction)valuechange//m_TextField是UITextField的一个IBOutlet
{
int count = [m_TextField.text length];
//count就是当前的字符个数 //下边是将字符限制在140以内
if ([m_TextField.text length]>140) {
[m_TextField setText:[m_TextField.text substringToIndex:140]];//多出140时,只取前140个字符
}
}

方法二:

在代理方法:-(BOOL)textField:(UITextField *)textFieldshouldChangeCharactersInRange:(NSRange)rangereplacementString:(NSString*)string,判断range.length的值来判断输入的是回格还是其它字符

响应Return键:

1、UITextView

//代理方法

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
if (1 == range.length) {//按下回格键
return YES;
}
if ([text isEqualToString:@"\n"]) {//按下return键
//这里隐藏键盘,不做任何处理
[textView resignFirstResponder];
return NO;
}else {
if ([textView.text length] < 140) {//判断字符个数
return YES;
}
}
return NO;
}

2、UITextField

这个直接有代理方法哈

- (BOOL)textFieldShouldReturn:(UITextField *)textField

 

UITextField进入编辑状态获得焦点 becomeFirstResponder

关闭键盘 resignFirstResponder

IOS键盘的相关设置(UITextfield)的更多相关文章

  1. iOS开发——高级篇——iOS键盘的相关设置(UITextfield)

    一.键盘风格 UIKit框架支持8种风格键盘. typedef enum { UIKeyboardTypeDefault, // 默认键盘:支持所有字符 UIKeyboardTypeASCIICapa ...

  2. 关于Android中EditText自动获取焦点并弹出键盘的相关设置

    在android开发中,关于EditText自动获取焦点弹出键盘,我们可能又是会有让键盘自动弹出的需求,有时可能又会有不想让键盘自动弹出的需求,下面是我所总结的两种方法: 需求:EditText自动获 ...

  3. Windows Unity ARKit发布到IOS相关设置及错误解决

    Windows 版Unity安装: 考虑到在虚拟机中运行Unity比较卡,所以采用在Windows Unity上将项目发布好然后再复制到Mac虚拟机中通过XCode进行编译的方式. Unity版本为 ...

  4. iOS学习21之UILabel, UITextField, UIButton, UIImageView

    1.UILabel 1> 概述 UILabel (标签): 是显示文本的控件.在App中 UILabel 是出现频率最高的控件 UILabel 是 UIView 子类,作为子类一般是为了扩充父类 ...

  5. iOS:文字相关(19-01-08更)

    0.写在前面 1.小技巧 UILabel类: 1-1-1).设置行间距富文本,有省略号要求的,需要再次设置省略(初始化时设置的会失效). UITextField类: 1-2-1).清空按钮. UITe ...

  6. iOS开发小技巧--iOS键盘 inputView 和 inputAccessoryView

    iOS键盘 inputView 和 inputAccessoryView 1.inputAccessoryView UITextFields和UITextViews有一个inputAccessoryV ...

  7. iOS 键盘自适应(IQKeyboardManager)使用小结

    IQKeyboardManager Github地址 经常在开发一个应用程序,我们遇到了一个问题,iPhone的键盘上滑覆盖的UITextField / UITextView.IQKeyboardMa ...

  8. iOS 键盘遮挡输入框万能解决方案(多个输入框)

    效果图如下: 思路分析: 代码: 知识点: 问题: 效果图如下: 思路分析: 当我们有很多输入框时,有时候键盘弹出来会遮挡着输入框.我们需要获取输入框和键盘相对于最外层视图的位置来判断是否遮挡,如果遮 ...

  9. Xcode 生成静态库相关设置:

    Xcode 生成静态库相关设置: #Build Setting1. Architectures ------- Architectures -----> $(ARCHS_STANDARD) -- ...

随机推荐

  1. 转:在ElasticSearch之下(图解搜索的故事)

    ElasticSearch 2 (9) - 在ElasticSearch之下(图解搜索的故事) 摘要 先自上而下,后自底向上的介绍ElasticSearch的底层工作原理,试图回答以下问题: 为什么我 ...

  2. sql访注入

    http://www.dewen.org/q/6154/java%E7%A8%8B%E5%BA%8F%E9%98%B2%E6%AD%A2sql%E6%B3%A8%E5%85%A5%E7%9A%84%E ...

  3. JQuery移除事件

    移除事件 unbind(type [,data])     //data是要移除的函数 $('#btn').unbind("click"); //移除click $('#btn') ...

  4. 04 Linux 指令语法结构与帮助命令

    一.Linux指令语法结构 [tyang3@localhost Desktop]$ command [-options] [arguments] 指令           选项           参 ...

  5. ORA-04031案例一则

    ORA-04031这个错误,几乎每一个专业的DBA都遇到过.这是一个相当严重的错误,Oracle进程在向SGA申请内存时,如果申请失败,则会报这个错误.大部分情况下是在向SGA中的shared poo ...

  6. Spring配置xml文件详解

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  7. lower_bound实现函数

    lower_bound实现 [参考链接]lower_bound二分的三种写法 我在以前,总是用lower_bound,现在发现这样不行,有些复杂的数据结构二分的时候用这个会很麻烦,不如手写二分,我接着 ...

  8. centos6配置远程桌面,使用xmanager访问

    现在linux的图形界面越来越丰富,使用图形界面操作也逐渐成为使用者的一种习惯.在我们安装文件的过程中,经常会应用得到. 比如远程安装oracle,或者有多台主机.避免在不同主机间切换显示器. 1.检 ...

  9. JAVA 子父类的特点

    一.变量(属性)    this 代表当前对象的引用 this.变量 首先在本类中找所需要的这个变量,如果没有找到再去父类中找    super 用于访问当前对象的父类成员 super.变量 直接在父 ...

  10. JAVA 创建类,使用类

    一.创建类: Test.java //定义类 public class Test{ //属性 String name; String gender; int age; //方法,无参无返回 publi ...