一、键盘风格
UIKit框架支持8种风格键盘。
- typedef enum {
- UIKeyboardTypeDefault, // 默认键盘:支持所有字符
- UIKeyboardTypeASCIICapable, // 支持ASCII的默认键盘
- UIKeyboardTypeNumbersAndPunctuation, // 标准电话键盘,支持+*#等符号
- UIKeyboardTypeURL, // URL键盘,有.com按钮;只支持URL字符
- UIKeyboardTypeNumberPad, //数字键盘
- UIKeyboardTypePhonePad, // 电话键盘
- UIKeyboardTypeNamePhonePad, // 电话键盘,也支持输入人名字
- UIKeyboardTypeEmailAddress, // 用于输入电子邮件地址的键盘
- } UIKeyboardType;
用法用例:
textView.keyboardtype = UIKeyboardTypeNumberPad;
二、键盘外观
- typedef enum {
- UIKeyboardAppearanceDefault, // 默认外观:浅灰色
- UIKeyboardAppearanceAlert, //深灰/石墨色
- } UIKeyboardAppearance;
用法用例:
textView.keyboardAppearance=UIKeyboardAppearanceDefault;
三、回车键
- typedef enum {
- UIReturnKeyDefault, //默认:灰色按钮,标有Return
- UIReturnKeyGo, //标有Go的蓝色按钮
- UIReturnKeyGoogle, //标有Google的蓝色按钮,用于搜索
- UIReturnKeyJoin, //标有Join的蓝色按钮
- UIReturnKeyNext, //标有Next的蓝色按钮
- UIReturnKeyRoute, //标有Route的蓝色按钮
- UIReturnKeySearch, //标有Search的蓝色按钮
- UIReturnKeySend, //标有Send的蓝色按钮
- UIReturnKeyYahoo, //标有Yahoo!的蓝色按钮,用于搜索
- UIReturnKeyDone, //标有Done的蓝色按钮
- UIReturnKeyEmergencyCall, //紧急呼叫按钮
- } UIReturnKeyType;
用法用例:
textView.returnKeyType=UIReturnKeyGo;
四、自动大写
- typedef enum {
- UITextAutocapitalizationTypeNone, //不自动大写
- UITextAutocapitalizationTypeWords, //单词首字母大写
- UITextAutocapitalizationTypeSentences, //句子首字母大写
- UITextAutocapitalizationTypeAllCharacters, //所有字母大写
- } UITextAutocapitalizationType;
用法用例:
textField.autocapitalizationType = UITextAutocapitalizationTypeWords;
五、自动更正
- typedef enum {
- UITextAutocorrectionTypeDefault,//默认
- UITextAutocorrectionTypeNo,//不自动更正
- UITextAutocorrectionTypeYes,//自动更正
- } 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 *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(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
http://blog.sina.com.cn/s/blog_7018d3820101djut.html
相关推荐
在iOS开发中,当用户需要在UITextField或UITextView中输入时,键盘的弹出会遮挡部分内容,特别是当这些输入控件位于UIScrollView等可滚动视图上时。标题"ios-键盘不覆盖UITextField和UITextView输入框.zip"所提及的...
为`UITextField`设置约束,使其底部距离父视图的安全区域有一定的间距,这样当键盘弹出时,布局系统会自动调整`UITextField`的位置。 总之,通过监听`UITextField`的编辑状态和键盘的通知,我们可以有效地管理和...
标题提到的"iOS自带回收键盘的UITextField"实际上是一种扩展,通过自定义类别(Category)来增强`UITextField`的功能,使得开发者可以轻松实现键盘的显示与隐藏控制,提升用户交互性。 首先,我们来看`UITextField+...
本文将深入探讨如何使用Swift语言创建一个适用于UITextField和UITextView的字母和数字键键盘,以此来替代系统默认键盘,增强用户输入体验。 Swift是一种苹果公司推出的强大且易学的编程语言,特别适合iOS、iPadOS、...
可以创建一个自定义的输入工具栏并将其设置为UITextField或UITextView的inputAccessoryView。这样,工具栏将始终位于键盘上方,不会被键盘遮挡。同时,可以在工具栏上添加“隐藏键盘”按钮,方便用户快速关闭键盘。...
下面将详细探讨`UITextField`的使用及其相关特性。 `UITextField` 是苹果iOS SDK中的一个类,继承自`UIView`,是用户界面中用于接收单行文本输入的控件。创建`UITextField`时,开发者可以设置其初始属性,如文字...
此外,UITextField还支持许多其他特性,例如输入限制、键盘类型选择、返回键行为等。理解并善用这些属性和方法,能够帮助开发者更好地定制UITextField,提升用户体验。在实际开发中,还需要考虑不同设备和系统版本的...
开发者可以通过设置`placeholder`属性来定义提示文本,通过`text`属性获取或设置用户输入的文字。通常,我们还会配置`keyboardType`来决定显示哪种类型的键盘,以及`returnKeyType`来定义用户按下回车键时的行为。 ...
为了实现更复杂的功能,可以设置UITextField的代理。遵循`UITextFieldDelegate`协议,然后设置`textField.delegate = self`。例如,可以使用`textFieldShouldReturn(_:)`方法处理回车键事件,通常用于提交表单。 在...
这里创建了一个 UITextField 实例,并设置了其 frame 的位置和大小。 二、设置边框样式 UITextField 提供了四种边框样式,分别是: * UITextBorderStyleNone:无边框 * UITextBorderStyleLine:直线边框 * ...
然而,在某些场景下,开发者可能希望`UITextView`具备`UITextField`的一些特性,比如,限制输入字符数、设置 placeholder 或者实现简单的键盘返回事件处理。本篇文章将详细探讨如何通过自定义`UITextView`来实现`...
- **键盘类型**:通过`keyboardType`属性设置不同的键盘布局,如数字键盘、电话键盘等。 - **右视图**:通过`rightView`属性添加右侧视图,比如一个搜索图标或取消按钮。 - **返回键行为**:通过`returnKeyType`设置...
在iOS应用开发中,自定义数字键盘密码设置是一项常见的需求,尤其在涉及到用户安全的场景,如支付密码的输入。本教程将通过"ios-自定义数字键盘密码设置.zip"中的资源,指导开发者如何实现一个类似支付宝和微信支付...
这些键盘类型可以在创建UITextField或UITextView时通过`.keyboardType`属性设置,或者在运行时动态调整。 接下来,alert对话框是iOS中一种常见的信息提示方式。UIAlertController提供了创建和展示alert对话框的功能...
UITextField+Extension 是 UITextField扩展 使用runtime实现,完美支持第三方键盘,实现上移效果 通过添加UITextField类目,使用runtime实现,TextField被遮挡时视图上移效果 点击对应的父视图的空白地方回收键盘,...
在iOS开发中,`UITextField`是用户输入文本的常用控件,它允许用户在屏幕上输入、编辑和查看文本。这个教程将重点讲解如何利用`UITextField`的代理方法来实现一个类似QQ登录窗口的功能,包括显示暗文(隐藏密码)...
`UITextField`提供了`becomeFirstResponder`和`resignFirstResponder`方法,分别用于使`UITextField`获取和失去焦点,从而显示和隐藏键盘。`textFieldShouldReturn`代理方法会在用户点击键盘上的“return”键时触发...
可以实现uitextfield的`returnKeyType`属性,设置一个“完成”键来关闭键盘,或者监听`UIKeyboardWillHideNotification`并在适当的时候调用`resignFirstResponder`方法。 7. 键盘工具栏(InputAccessoryView): ...
在本教程中,我们将深入探讨如何设置UITextField的各种属性,以定制其外观和行为。 首先,创建一个UITextField实例是基础,通过初始化方法`initWithFrame:`来指定其在屏幕上的位置和大小,例如: ```swift let text...
本文将深入探讨如何使用Interface Builder (IB)方式来配置UITextField,包括设置输入规则、进行格式验证、控制长度限制以及设定输入跳转顺序。 首先,`UITextField`在界面构建时,可以通过Interface Builder在...