李洪强iOS开发之- 点击屏幕遮挡键盘
李洪强iOS开发之- 点击屏幕遮挡键盘
实现的效果:

01 - 给当前的view添加点击事件,使点击屏幕的时候,让键盘退出

/**
* 点击屏幕 隐藏键盘
*
* @param tap
*/
-(void)keyboardHide:(UITapGestureRecognizer*)tap
{
[self.view endEditing:YES];
}
UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(keyboardHide:)];
//设置成NO表示当前控件响应后会传播到其他控件上,默认为YES。
tapGestureRecognizer.cancelsTouchesInView = NO;
//将触摸事件添加到当前view
[self.view addGestureRecognizer:tapGestureRecognizer];
#import "CFShoppingCartViewController.h"
02 - 实现点击输入框 的时候,让当前的view整体上移,目的是不遮盖当前的输入框


03 - 实现textview的代理

#pragma mark --- 实现UITextView的代理---
-(void)textViewDidChange:(UITextView *)textView
{
_textView11.text = textView.text;
if (textView.text.length == 0) {
_label11.text = @"有什么需要补充的";
}else{
_label11.text = @"";
}
}
- (BOOL)textViewShouldBeginEditing:(UITextView *)textView{
_label11.text = @"";
// [self.label1 removeFromSuperview];
return YES;
}
- (BOOL)textViewShouldEndEditing:(UITextView *)textView{
_label11.text = @"";
return YES;
}
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
[UIView animateWithDuration:0.8 animations:^{
[self.view endEditing:YES];
}];
}
03 - 键盘的通知



#pragma mark — 键盘遮挡
-(void)createNotifiticationCenter
{
//创建通知中心
NSNotificationCenter * center = [NSNotificationCenter defaultCenter];
//键盘弹出
[center addObserver:self selector:@selector(receivesKeyBordShowNotification:) name:UIKeyboardWillShowNotification object:nil];
//监听键盘收回时发送的通知
[center addObserver:self selector:@selector(receivesKeyBordHiddenNotification:) name:UIKeyboardWillHideNotification object:nil];
}
-(void)receivesKeyBordShowNotification:(NSNotification *)noti
{
//取出键盘的弹起时间
NSTimeInterval time = [[noti.userInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey]doubleValue];
//在键盘的这段时间内将界面上的控件上移
//使用动画
[UIView animateWithDuration:time delay:0 options:0 animations:^{
//将界面整体上移
CGRect boubds = self.view.bounds;
boubds.origin.y = 170;
self.view.bounds = boubds;
} completion:^(BOOL finished) {
}];
}
-(void)receivesKeyBordHiddenNotification:(NSNotification *)notifi
{
//从通知信息体取出键盘收回的时间
NSTimeInterval time = [[notifi.userInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey]doubleValue];
//用动画将界面下移
[UIView animateWithDuration:time delay:0 options:0 animations:^{
CGRect bounds = self.view.bounds;
bounds.origin.y = 0;
self.view.bounds = bounds;
} completion:^(BOOL finished) {
}];
}
李洪强iOS开发之- 点击屏幕遮挡键盘的更多相关文章
- 李洪强iOS开发之-实现点击单行View显示和隐藏Cell
李洪强iOS开发之-实现点击单行View显示和隐藏Cell 实现的效果: .... ....
- 李洪强iOS开发之-环信05_EaseUI 使用指南
李洪强iOS开发之-环信05_EaseUI 使用指南 EaseUI 使用指南 简介 EaseUI 封装了 IM 功能常用的控件(如聊天会话.会话列表.联系人列表).旨在帮助开发者快速集成环信 SDK. ...
- 李洪强iOS开发之-环信01_iOS SDK 前的准备工作
李洪强iOS开发之-环信01_iOS SDK 前的准备工作 1.1_注册环信开发者账号并创建后台应用 详细步骤: 注册并创建应用 注册环信开发者账号 第 1 步:在环信官网上点击“即时通讯云”,并点 ...
- 李洪强iOS开发之静态库的打包一
李洪强iOS开发之静态库的打包一 //静态库一般做一下几种事情 //1 工具类 算法逻辑 新建工具类LHQTools 定义类方法 + (NSInteger)sumWithNum1: (NSIntege ...
- 李洪强iOS开发之录音和播放实现
李洪强iOS开发之录音和播放实现 //首先导入框架后,导入头文件.以下内容为托控件,在storyboard中拖出两个按钮为录音和播放按钮 //创建一个UIViewController在.h文件中写 # ...
- 李洪强iOS开发之添加手势
李洪强iOS开发之添加手势 02 - 添加手势
- 李洪强iOS开发之- 实现简单的弹窗
李洪强iOS开发之- 实现简单的弹窗 实现的效果: 112222222222223333333333333333
- 李洪强iOS开发之后使用XIB实现横向滚动的UIScrollView
李洪强iOS开发之后使用XIB实现横向滚动的UIScrollView 11111222
- 李洪强iOS开发之苹果使用预览截图
李洪强iOS开发之苹果使用预览截图 01 在预览的图片中选中你要截得区域 02 - command + C 03 - Command + N 04 - Command + S (保存)
随机推荐
- hdu2255 奔小康赚大钱 KM 算法
参见这里 #include <iostream> #include <cstring> #include <cstdio> using namespace std; ...
- CEO的智力财富第12期-《股权激励》学习笔记
卷首语---你现在走的第一步,都藏着你未来的样子 今天,又去参加天使岛举办的系列讲座之股权激励,由律大大律师事务所李刚律师主讲,走在路上,我就在想,我为什么要来参加这样的活动呢?我的本职工作和股权没有 ...
- 【java基础 5】树形结构数据加载的思考
前面两篇文章,分别介绍了使用递归和非递归算法加载树形结构数据的方式,本篇文章,则是自己闲下来的时候,进行的一点小思考. 一.什么地方会用到树形结构 刚开始一看到这种结构的时候,最先是想到了家谱.家谱就 ...
- 【C#】C#数据类型和VB的区别
导读:看完了C#,需要总结的有很多东西.开始没有怎么在意,根本没有意识到,那些视频是教给了我一种新的编程语言,我就真的是像看电视剧一样的看完了.猛然想起了学过的VB,这是目前为止,我接触到的仅有的语言 ...
- [BZOJ2118] 墨墨的等式(最短路)
传送门 好神啊.. 需要用非负数个a1,a2,a3...an来凑出B 可以知道,如果一个数x能被凑出来,那么x+a1,x+a2.......x+an也都能被凑出来 那么我们只需要选择a1~an中任意一 ...
- 刷题总结——小凸玩矩阵(scoi)
题目: 题目背景 SCOI2015 DAY1 T1 题目描述 小凸和小方是好朋友,小方给了小凸一个 n×m(n≤m)的矩阵 A,并且要求小凸从矩阵中选出 n 个数,其中任意两个数都不能在同一行或者同一 ...
- hdu 1390
#include<stdio.h> int main() { int t,n,a[1001]; scanf("%d",&t); while(t--) { sca ...
- 【Java工具】在代码头部加版权
import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io ...
- Codeforces Round #284 (Div. 2) D. Name That Tune [概率dp]
D. Name That Tune time limit per test 1 second memory limit per test 256 megabytes input standard in ...
- Codeforces 486D Valid Sets (树型DP)
题目链接 Valid Sets 题目要求我们在一棵树上计符合条件的连通块的个数. 满足该连通块内,点的权值极差小于等于d 树的点数满足 n <= 2000 首先我们先不管这个限制条件,也就是先考 ...