博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
键盘的监听 和 取消第一响应者
阅读量:6382 次
发布时间:2019-06-23

本文共 1242 字,大约阅读时间需要 4 分钟。

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

    // 监听键盘的通知

    [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];

 

转载于:https://www.cnblogs.com/junhuawang/p/4610632.html

你可能感兴趣的文章
如何去除小程序button的边框
查看>>
JavaScript Data.parse()转化时间戳安卓和ISO不兼容
查看>>
The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar
查看>>
shell脚本的执行方式
查看>>
Microsoft Report Designer Undocumented Error 解决方案
查看>>
redis数据结构存储SDS设计细节(redis的设计与实现笔记)
查看>>
数学之美系列二十四 -- 谈谈动态规划
查看>>
【内存溢出】Maven编译时内存溢出的问题解决方式
查看>>
【C++注意事项】1 数据类型及类型转换
查看>>
重建二叉树
查看>>
【Android】17.1 Bound Services基本概念
查看>>
让vc程序不显示任务栏图标
查看>>
cocos2d-x CCCallFuncN中node CCCallFuncND中data
查看>>
[Luogu P2973&BZOJ 1778][USACO10HOL]赶小猪DOtP(高斯消元+期望)
查看>>
深入浅出REST
查看>>
window.location.reload(false);window.location.reload(true);history.Go(0)区别
查看>>
[速记]关于字符串数组+字符串常量+结束符号'\0'
查看>>
[php审计实战篇]BlueCms v1.6 Union注入
查看>>
【Excle数据透视表】如何在数据透视表顶部显示列总计数据
查看>>
IntelliJ IDEA default settings 全局默认设置
查看>>