键盘相关处理

作者: smile丽语 | 来源:发表于2016-06-17 19:04 被阅读119次

实际开发中在退出当前界面前,要将弹起的键盘收起

 - (void)viewWillDisappear:(BOOL)animated {    
      [super viewWillDisappear:animated];
      
      // 视图退出编辑状态(收起键盘)
      [self.view endEditing:YES];
 }

如果当前控制器是TableViewController时,就不能这么写了

- (void)viewWillDisappear:(BOOL)animated {
    [super viewWillDisappear:animated];
    
    // 关闭第一响应者(收起键盘)
    [self.textField resignFirstResponder];
}

在实际开发中有时候需要对 文本输入框UITextfiled 进行一些限制.
比如说在输入金额的时候我们希望只能输入最多两位小数.应该怎么办呢?UITextfiled 有个代理方法

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string; // return NO to not change text

官方的注释是** return NO 的时候是不能改变文字的.那么我们就在这个方法里做手脚.为了少做一些判断.我们可以先限制调出的键盘类型为UIKeyboardTypeDecimalPad.

UIKeyboardTypeDecimalPad

// 输入金额 限制两个小数

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
      if ([textField.text containsString:@"."]) {
        if ([string isEqualToString:@"."]) return NO;
        NSRange rangeOfPoint = [textField.text rangeOfString:@"."];
        if (range.location > rangeOfPoint.location + 2) return NO;
      }
        return YES;
      }

附录: 键盘样式:


UIKeyboardTypeDefault

UIKeyboardTypeASCIICapable

UIKeyboardTypeNumbersAndPunctuation

UIKeyboardTypeURL

UIKeyboardTypeNumberPad

UIKeyboardTypePhonePad电话号码键盘

UIKeyboardTypeNamePhonePad

UIKeyboardTypeEmailAddress

UIKeyboardTypeDecimalPad金额键盘

UIKeyboardTypeTwitter

UIKeyboardTypeWebSearch

UIKeyboardTypeAlphabet = UIKeyboardTypeASCIICapable

相关文章

  • 键盘相关处理

    实际开发中在退出当前界面前,要将弹起的键盘收起 如果当前控制器是TableViewController时,就不能这...

  • iOS开发中关于键盘的处理

    一、通过接收键盘弹出、回退时发出的通知来进行键盘的相关的处理: 其中 toolBottomDistance 为工具...

  • 键盘相关

    [onEditorActionListener] android:focusable="true"android:...

  • 键盘相关

    参见 InputBarAccessoryView 设置viewcontroller 的 键盘 在viewcontr...

  • 《1.视图跟着键盘上移 2.自定义键盘上面工具栏3.资源bund

    由来:以前针对键盘的处理都是使用IQKeyboardManager简称键盘处理神器。针对键盘的处理太借助于外物,于...

  • 键盘处理

    可以参照键盘监听里面的方法。 这里提示textField的协议(Delegate) textField为键盘的...

  • Swift 解决键盘遮盖问题封装

    日常开发中,经常会遇到输入框被键盘遮盖的问题, 本次思路是 将键盘处理相关代码封装成一个 单利的工具类, 通过监听...

  • IQKeyboardManager的使用及一些坑的解决

    在iOS APP的开发中,不能避免的要处理些键盘的相关显示效果,比如键盘遮挡了正在编辑的输入框,而设计又不可能变更...

  • 2.4 UITableView-聊天布局

    键盘处理 1.监听键盘通知// 监听键盘通知[[NSNotificationCenter defaultCente...

  • Java入口方法

    目录 Java 入口方法获取用户键盘输入系统相关的两个类:System Runtime处理日期的类:Date 和 ...

网友评论

    本文标题:键盘相关处理

    本文链接:https://www.haomeiwen.com/subject/qdpvdttx.html