文档章节

键盘弹出和消失View的上下移动效果

YunHe_Lee
 YunHe_Lee
发布于 2015/06/17 11:45
字数 301
阅读 2
收藏 0
点赞 0
评论 0

#pragma mark 设置textView并在设置view随键盘的移动而移动

-(void)setTextView

{

    [self.myTextView.layer setCornerRadius:5.0];

    //监听键盘弹出

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

    //监听键盘消失

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

    UIToolbar * topView = [[UIToolbar alloc]initWithFrame:CGRectMake(0, 0, 320, 45)];

    [topView setBarStyle:UIBarStyleBlackTranslucent];

    //定义两个flexibleSpacebutton,放在toolBar上,这样完成按钮就会在最右边

    UIBarButtonItem * button1 =[[UIBarButtonItem  alloc]initWithBarButtonSystemItem:                                        UIBarButtonSystemItemFlexibleSpace target:self action:nil];

    

    UIBarButtonItem * button2 = [[UIBarButtonItem  alloc]initWithBarButtonSystemItem:                                        UIBarButtonSystemItemFlexibleSpace target:self action:nil];

    //定义完成按钮

    UIBarButtonItem * doneButton = [[UIBarButtonItem alloc]initWithTitle:@"完成" style:UIBarButtonItemStyleDone  target:self action:@selector(resignKeyboard)];

    //toolBar上加上这些按钮

    NSArray * buttonsArray = [NSArray arrayWithObjects:button1,button2,doneButton,nil];

    [topView setItems:buttonsArray];

    [self.myTextView setInputAccessoryView:topView];

}




#pragma mark 隐藏键盘

-(void)resignKeyboard

{   //取消键盘为第一相应者

    [self.myTextView resignFirstResponder];

}

#pragma mark 键盘弹出View向上移动

-(void)keyboardDidShow:(NSNotification *)notification

{

    

    NSDictionary *userInfo = [notification userInfo];

    NSValue *aValue = [userInfo objectForKey:UIKeyboardFrameEndUserInfoKey];

    CGRect keyboardRect = [aValue CGRectValue];

    int height = keyboardRect.size.height; //获取键盘高度

    

    CGContextRef context = UIGraphicsGetCurrentContext();

    //开始播放动画

    [UIView beginAnimations:nil context:context];

    [UIView setAnimationCurve:UIViewAnimationCurveEaseOut];

    [UIView setAnimationDuration:0.3];

    [self.myView setFrame:CGRectMake(0,-height, 320, 480)];

    

    [UIView commitAnimations];

    

}



#pragma mark 键盘消失View向下移动

-(void)keyboardDidHidden:(NSNotification *)notification

{

    

    CGContextRef context = UIGraphicsGetCurrentContext();

    //开始播放动画

    [UIView beginAnimations:nil context:context];

    [UIView setAnimationCurve:UIViewAnimationCurveEaseOut];

    [UIView setAnimationDuration:0.3];

    [self.myView setFrame:CGRectMake(0,0, 320, 480)];

    

    [UIView commitAnimations];

    

    

}

© 著作权归作者所有

共有 人打赏支持
YunHe_Lee
粉丝 0
博文 8
码字总数 4263
作品 0
朝阳
iOS学习4:UITextView的用法及技巧(ios7下光标bug解决方案)

一、新建一个textView //初始化UITextView *textView = [[[UITextView alloc] init] autorelease]; //设置代理 需在interface中声明UITextViewDelegatetextView.delegate = self; //字体大小......

芳仔小脚丫
2013/06/24
0
11
问题:键盘缩回动画和UIAlertView弹出动画冲突

问题描述: 键盘弹出,光标在输入框中输入,没有结束页面的输入状况时,点击按钮,弹出提示框,键盘会在弹出提示框之前消失,但是点击"取消"或者"确定"之后,提示框消失,键盘再次弹出.虽然我在提示框...

刘学良
2016/11/21
22
0
系统API:UIView阻尼动画

Spring Animation 是一种特殊的动画曲线,自从 iOS 7 开始被广泛应用在系统动画中。 下图中演示的系统自带的动画效果,都使用了 Spring Animation: 事实上,从 iOS 7 起几乎所有的系统动画都...

sea_god
2016/03/03
80
0
IOS博客项目搭建-15-发微博-自定义键盘上的Toolbar

自定义发布微博界面的工具栏,下图红框中的Toolbar。 工具条是一个整体,可以封装一个类文件,来进行处理相关的操作。 一、先创建一个工具条view继承UIView IWComposeToolbar.m 然后在发微博...

Corwien
2016/05/15
122
0
Android关于QQ登陆页的两个问题

我想做一个类似于这样的登陆页。已经做出来了,但是又两个bug 先说一下QQ的登陆页的效果 如图1、2、3 1为默认页情况 2为点击“下三角” 显示 用户列表时的情况 3为点击用户名或密码框时弹出软...

wokenshin
2014/09/24
292
0
使用 iOS Spring Animation API 创建动画

Spring Animation 是一种特殊的动画曲线,自从 iOS 7 开始被广泛应用在系统动画中。 下图中演示的系统自带的动画效果,都使用了 Spring Animation: 事实上,从 iOS 7 起几乎所有的系统动画都...

cyper
2016/06/22
33
0
项目需求讨论-仿ios底部弹框实现及分析

hi,在项目开发中,有时候需要仿照ios的底部弹框做效果,比如我们在iPhone上面关闭定位的时候,就会弹出ios特有的底部弹框: 弹框布局: 我们可以来看下这个弹框有哪些显示: 标题(一个标题...

青蛙要fly
2017/10/09
0
0
实现两个页面的转场动画

appdelegete.m #import "AppDelegate.h" #import "FirstViewController.h" @interface AppDelegate () @end @implementation AppDelegate - (BOOL)application:(UIApplication )application ......

鹿微微鹿
2016/04/13
82
0
用UITextView撸一个顺畅的评论输入框

对比UITextField 继承关系: UITextField继承自UIControl,UITextView继承自UIScrollView; 输入行数 UITextView支持多行输入,可以滑屏垂直滚动,UITextField仅支持单行输入 Placeholder UI...

STzen
05/10
0
0
《React-Native系列》33、 键盘遮挡问题处理

最近在项目中,使用TextInput组件的时候,发现键盘弹出的时候,遮盖了表单。 咨询了下做iOS的同学,他们的处理是计算键盘的高度和当前输入域的位置,将界面向上移动一段距离。 那在ReactNati...

hsbirenjie
2016/09/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

nodejs安装以及环境配置(很好的node安装和配置文章,少走很多弯路)

一、安装环境 1、本机系统:Windows 10 Pro(64位) 2、Node.js:v6.9.2LTS(64位) 二、安装Node.js步骤 1、下载对应你系统的Node.js版本:https://nodejs.org/en/download/ 2、选安装目录进...

sprouting
14分钟前
0
0
Redisson

了解了Redisson,发现使用挺简单的,接下来准备深入学习一下。 Redisson介绍 Redisson是架设于Redis基础之上的一个Java驻内存数据网格(In-Memory Data Grid) Redisson在基于NIO的Netty框架上...

to_ln
14分钟前
0
0
python有哪些好玩的应用实现,用python爬虫做一个二维码生成器

python爬虫不止可以批量下载数据,还可以有很多有趣的应用,之前也发过很多,比如天气预报实时查询、cmd版的实时翻译、快速浏览论坛热门帖等等,这些都可以算是爬虫的另一个应用方向! 今天给...

python玩家
14分钟前
0
0
jq 判断复选框是否被选中,复选框后台接收

1. 效果 2. 代码 html部分: JS部分: var rememberLogin = $("#rememberLoginId").is(':checked')//获取复选框是否被选中 var rememberLoginval = $("#rememberLoginId").attr('value')//拿......

Lucky_Me
21分钟前
0
0
python爬虫日志(3)-爬去异步加载网页

在浏览器检查元素页面中,选取Network中的XHR选项即可观察每次加载页面,网页发出的请求,观察url的规律即可利用封装的函数对每一页进行爬取。

茫羽行
22分钟前
0
0
《趣谈网络协议》之为什么要学习网络协议?

一、协议 1.协议的定义 简单说协议就是一个规则,保证沟通交流双方可以互相听懂、理解或者可以双方合作可以顺利进行的一个约定和规则。 2.生活中例子 (1)有一种叫“程序猿”的物种,敲着一种...

aibinxiao
23分钟前
1
0
Python数据分析numpy基础-维度的认识

什么是多维数组? 核心对象是同型的多维数组(简单理解就是一个表格,通常内容都是些数字),具有相同的数据类型。 概念: 1. axes(轴):数组的维度统称为轴。 2. rank:轴的数量称为rank。...

十年磨一剑3344
27分钟前
0
0
Java 正则表达式相关资料

1.java正则表达式过滤html标签

IT追寻者
31分钟前
0
0
点赞出现数字变大效果

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> .container{ padding: 50px; border: 1px solid #dddddd; } .item{ position: relative; } ......

南桥北木
49分钟前
0
0
anroid中批量将px转换成dp

package com.qu;import java.io.File;import java.io.FileWriter;import java.io.IOException;public class Aaaa {public static void main(String[] args) {String fi......

android-key
50分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部