zoukankan      html  css  js  c++  java
  • 键盘的监听 和 取消第一响应者

    一.监听键盘的弹出和退出(键盘的高度和弹出时间可用来做动画)

        // 监听键盘的通知

        [NSNotificationCenter addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];

        [NSNotificationCenter addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];

    /**

     *  键盘即将显示的时候调用

     */

    - (void)keyboardWillShow:(NSNotification *)note

    {

        // 1.取出键盘的frame

        CGRect keyboardF = [note.userInfo[UIKeyboardFrameEndUserInfoKey] CGRectValue];

        

        // 2.取出键盘弹出的时间

        CGFloat duration = [note.userInfo[UIKeyboardAnimationDurationUserInfoKey] doubleValue];

        

        // 3.执行动画

        [UIView animateWithDuration:duration animations:^{

            self.toolbar.transform = CGAffineTransformMakeTranslation(0, -keyboardF.size.height);

        }];

    }

    /**

     *  键盘即将退出的时候调用

     */

    - (void)keyboardWillHide:(NSNotification *)note

    {

        // 1.取出键盘弹出的时间

        CGFloat duration = [note.userInfo[UIKeyboardAnimationDurationUserInfoKey] doubleValue];

        

        // 2.执行动画

        [UIView animateWithDuration:duration animations:^{

            self.toolbar.transform = CGAffineTransformIdentity;

        }];

    }

    二、成为第一响应者和取消第一响应者

    1.取消第一响应者

        [self.view endEditing:YES];//view或view的子控件都取消第一响应者

        或[self.textView resignFirstResponder];//直接让控件取消第一响应者

    2.成为第一响应者

        [self.textView becomeFirstResponder];

  • 相关阅读:
    emoji表情,直接存入数据库报错,,出现java.sql.SQLException: Incorrect string value: 'xF0x9Fx98x8ExF0。。。。。。
    Springmvc的服务端数据验证-----Hibernate Validator
    HashMap
    Treeset的两种排序方法(自然排序和比较器排序)
    Java设计模式之适配器模式
    Java中的三种工厂模式
    构造方法私有化_骰子
    Java中equals的覆盖
    HttpClient请求
    JAVA的单例模式与延时加载
  • 原文地址:https://www.cnblogs.com/junhuawang/p/4610632.html
Copyright © 2011-2022 走看看