keyboad

一、键盘风格

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)textF

时间: 2024-08-09 06:18:49

keyboad的相关文章

Linux下多进程服务端客户端模型二(粘包问题与一种解决方法)

一.Linux发送网络消息的过程 (1) 应用程序调用write()将消息发送到内核中 ( 2)内核中的缓存达到了固定长度数据后,一般是SO_SNDBUF,将发送到TCP协议层 (3)IP层从TCP层收到数据,会加上自己的包头然后发送出去.一般分片的大小是MTU(含IP包头),而IPV4下IP的包头长度为40,而IPV6下为60,因此,TCP中分片后,有效的数据长度为MSS = MTU - 40 或 MSS = MTU -60 (4)最终经过其他层的包装,发送到公网上,跑来跑去,这时候,你的数据

Android 自定义的数字键盘 支持随意拖动 和稳定的字符输入的控件

经过 研究 实现了自定义 键盘 ,支持随意拖动 和数字及其他字符输入 下面是主要的代码 和使用方法 import android.content.Context; import android.util.Log; import android.view.GestureDetector; import android.view.GestureDetector.OnGestureListener; import android.view.Gravity; import android.view.Mo

mac osx添加全局启动terminal快捷键

虽然有很多第三方工具(Alfred.keyboad Maestro)可以设置全局启动terminal快捷键,但怎么感觉都不如native的好,呵呵,本文就使用mac 自带的Automator来创建一个launch application的服务,然后在系统偏好设置中keyboard设置service的全局快捷键,实践证明挺好用的,步骤如下: 1.create a service dock-->launchpad-->others-->automator-->create a serv

Android:自定义输入法(输入密码时防止第三方窃取)

对于Android用户而言,一般都会使用第三方的输入法.可是,在输入密码时(尤其是支付相关的密码),使用第三方输入法有极大的安全隐患.目前很多网银类的APP和支付宝等软件在用户输入密码时,都会弹出自定义的输入法而不是直接使用系统输入法. 本文介绍的就是如何实现一个简单的自定义输入法.当然,也可以自己写一个Dialog加上几十个按钮让用户输入,只不过这样显得不够专业. (一)首先上效果图: 1.前面两个输入框使用了自定义的输入法: 2.第三个输入框没有进行任何设置,因此将使用默认的输入法: (二)

IO获取指定目录及其目录下子目录

一.需求:获取指定目录下,指定扩展名的文件(包含子目录中的) 二.需要用到的方法 1.FilenameFilter :返回抽象路径名的定义中表示此抽象路径名的目录中的文件的数组.  filter.accept : 对遍历到的文件进行过滤器的过滤,将符合对象的File文件 package keyboad; import java.io.*; import java.util.ArrayList; import java.util.List; /** * 需求: * 获取指定目录下,指定扩展名的文件