弹出键盘,UIView 上移

声明

欢迎转载,但是请尊重作者劳动成果,转载请保留此框内声明,谢谢。 文章出处:http://blog.csdn.net/iukey

//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

默认情况下打开键盘会遮住下面的view,带来一点点困扰,不过这不是什么大问题,我们使用点小小的手段就可以解决。

首先我们要知道键盘的高度是固定不变的,不过在IOS 5.0 以后键盘的高度貌似不是216了,不过不要紧,我们调整调整就是了:

 iPhoneipad
竖屏(portrait)216264
横屏(landScape)140352

 

我们采取的方法就是在textField(有可能是其他控件)接收到弹出键盘事件时把self.view整体上移216px了(我们就以iPhone竖屏为例了)。

有关View的frame,origin,size之类的知识点不懂的请参看我的另一篇博文: <<有关View的几个基础知识点>>

//-----------------------------开始---------------------

先在 @interface 中 声明变量属性

@property (strong, nonatomic) IBOutlet UITextField *myTextField;

- (IBAction) returnKeyboard:(id) sender;

另外我们要设置textField的代理,我们就设为当前控制器了。

在viewDidLoad 中设置myTextField.delegate=self;

然后我们在当前控制器实现下面三个委托方法:

 

[java] view plaincopyprint?
  1. - (void)textFieldDidBeginEditing:(UITextField *)textField  
  2. //当点触textField内部,开始编辑都会调用这个方法。textField将成为first responder   
  3.        NSTimeInterval animationDuration = 0.30f;      
  4.       CGRect frame = self.view.frame;
  5.    //如果屏幕已经上移过,就不上移。
  6.       if (frame.orign.y < 0){
  7.             return;
  8.       }  
  9.       frame.origin.y -=216;  
  10.       frame.size.height +=216;  
  11.       self.view.frame = frame;
  12.   
  13.        [UIView beginAnimations:@"ResizeView" context:nil];  
  14.        [UIView setAnimationDuration:animationDuration];
  15.   
  16.        self.view.frame = frame;                  
  17.        [UIView commitAnimations];                  
  18. }  

 

    1. - (BOOL)textFieldShouldReturn:(UITextField *)textField
    2. {//当用户按下ruturn,把焦点从textField移开那么键盘就会消失了
    3. NSTimeInterval animationDuration = 0.30f;
    4. CGRect frame = self.view.frame;
    5. frame.origin.y +=216;
    6. frame.size. height -=216;
    7. self.view.frame = frame;
    8. //self.view移回原位置
    9. [UIView beginAnimations:@"ResizeView" context:nil];
    10. [UIView setAnimationDuration:animationDuration];
    11. self.view.frame = frame;
    12. [UIView commitAnimations];
    13. // 这里只用写textField 不用写myTextField
    14. [textField resignFirstResponder;
    15. return YES;
    16. }

 

 

另外还需要写键盘返回动作,  需要把所有的 输入框  连接到 下面这个动作

- (IBAction)returnKeyboard:(id)sender

{

     [sender resignFirstResponder];

   如果是手写的界面就不需要下面,如果是拉的界面 就需要下面

 

在viewDidUnload中

     [self setMyTextField:nil];

转载于:https://www.cnblogs.com/lixiaojian/p/3331018.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/433121.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

hdfs如何查找指定目录是否文件_在shell中如何判断HDFS中的文件目录是否存在

原标题&#xff1a;在shell中如何判断HDFS中的文件目录是否存在在Linux文件系统中&#xff0c;我们可以使用下面的Shell脚本判断某个文件是否存在&#xff1a;# 这里的-f参数判断$file是否存在if[ ! -f "$file"]; thenecho"文件不存在!"fi但是我们想判断HD…

用计算机MR,计算机上的【MC、MR、M

计算机上的【MC、MR、M2018-09-08计算机上的【MC、MR、M-、M】键各是什么意思?例举各自的作用&#xff1f;推荐内容计算机上的【MC、MR、M-、M】键各是什么意思?例举各自的作用&#xff1f;帮帮忙...帮帮忙问题库来自 匿名用户 的提问最佳答案由提问者推荐匿名用户M&#xff…

POJ 1328 Radar Installation 贪心

传送门http://poj.org/problem?id1328 题目大意&#xff1a;平面上有一些岛屿&#xff0c;现要求用一些圆心在x轴上的&#xff08;雷达&#xff09;来覆盖这些岛屿&#xff0c;问最少需要的雷达数目。 看了大神的思路&#xff1a; 把点按横坐标排序&#xff0c;然后把每个点的…

layui 怎么设置点击图片放大_layui等比例放大/缩小图片

HTMLJS$("#photo").click(function(){showImg($(this));});function showImg(imgData){var img new Image();img.src imgData.attr("src");var height img.height; // 原图片大小var width img.width; //原图片大小var winHeight $(window).height() …

移植ssh到arm

1. 下载需要的源码:mkdir -p ~/arm/fs ;mkdir -p ~/arm/source下载zlib: wget -c http://www.zlib.net/zlib-1.2.3.tar.gz下载ssl: wget -c http://www.openssl.org/source/openssl-0.9.8d.tar.gz下载ssh: wget -c http://mirror.mcs.anl.gov/openssh/portable/openssh-4.6p1…

学霸系统计算机天才,小欢喜:开局获得学霸系统

小欢喜&#xff1a;开局获得学霸系统连载中26万字||更新时间:2020-08-02 03:16:18莫名其妙穿越到小欢喜的世界当中&#xff0c;江辰成为了春风中学高三学生&#xff0c;和方一凡、季杨杨、乔英子等人成为了朝夕相伴的同学&#xff0c;并且一开局就获得了无敌的超级学霸系统。 …

openpyxl 绘制饼形图_好享学丨快速上手Pythonmatplotlib 箱线图绘制,学术人必备

好享学是高下制图推出的关于数据可视化经验分享栏目&#xff0c;我们将定期与您分享各界优秀人士的制图经验&#xff0c;一同学习。01. 引言箱线图(Boxplot) 是一种用作显示一组数据分散情况资料的统计图表&#xff0c;本期推文就如何使用matplotlib和seaborn 绘制出高度定制化…

揭开Socket编程的面纱

对TCP/IP、UDP、Socket编程这些词你不会很陌生吧&#xff1f;随着网络技术的发展&#xff0c;这些词充斥着我们的耳朵。那么我想问&#xff1a; 1. 什么是TCP/IP、UDP&#xff1f; 2. Socket在哪里呢&#xff1f; 3. Socket是什么呢&#xff1f; 4. 你会使用它们吗&#xff1f;…

flash地址 html,STM32 Flash读写;Flash地址对应的存储内容及方式

概念&#xff1a;计算机中最小的信息单位是bit&#xff0c;也就是一个二进制位&#xff0c;8个bit组成一个Byte&#xff0c;也就是1个字节&#xff0c;1个存储单元存放1个字节&#xff0c;每个存储单元对应一个32位(bit)地址&#xff0c;所以重要的话说三遍&#xff1a;对于32b…

socket中的函数遇见EINTR的处理

这几天&#xff0c;写服务器代码过程当中&#xff0c;遇见EINRT信号的问题&#xff0c;我是借鉴 《unp 》&#xff0c;采用continue或者goto again循环解决的。但是感觉这个还是很有必要记录一下。网络上查找到的信息很多。下面是我查找到的和EINTR有关的介绍&#xff1a;1 ht…

vue 如何获取图片的原图尺寸_公众号封面图片尺寸是多少?如何在公众号里制作封面图?...

公众号文章封面图是自己动手制作还是直接使用网络图片呢&#xff1f;在刚开始接触公众号运营时&#xff0c;我的大部分插图和封面图都是直接选择网络图片&#xff0c;后来才发现&#xff0c;自己制作的封面图更能传达文章的内容&#xff0c;阅读效果更好。其实很多做公众号的人…

主机名排序

主机名排序 主机名由多级域名组成&#xff0c;自右向左&#xff0c;依次是顶级域名、二级域名、三级域名…..以此类推 例&#xff0c;主机名&#xff1a;google.com.hkhk是顶级域名 com是二级域名 google是三级域名 现在我们需要实现一个主机名的排序功能 排序规则 1&#xff…

《计算机应用》实践考核,《管理系统中计算机应用》实践性环节考核方案

一、参考教材&#xff1a;《管理系统中计算机应用》&#xff0c;汪星明、周山芙主编&#xff0c;武汉大学出版社2004年版。二、考核时间&#xff1a;50分钟。三、考核内容及分数分布&#xff1a;1、Windows资源管理器的综合应用(10分)1)启动资源管理器。2)熟练掌握文件(夹)的建…

信号中断 与 慢系统调用

1. 术语 1.1. 慢系统调用&#xff08;Slow system call&#xff09; 该术语适用于那些可能永远阻塞的系统调用。永远阻塞的系统调用是指调用永远无法返回&#xff0c;多数网络支持函数都属于这一类。如&#xff1a;若没有客户连接到服务器上&#xff0c;那么服务器的accept调用…

delete hive_Hive高级调优

Hive调优策略Hive作为大数据领域常用的数据仓库组件&#xff0c;在设计和开发阶段需要注意效率。影响Hive效率的不仅仅是数据量过大;数据倾斜、数据冗余、job(小文件多)或I/O过多、MapReduce分配不合理等因素都对Hive的效率有影响。对Hive的调优既包含对HiveQL语句本身的优化&a…

联想计算机如何设置用户名和密码,联想电脑怎样设密码?联想电脑设置密码方法步骤【图文】...

现代 人最重要的是什么呢?在笔者看来是隐私。如今由于我们的社会比较发达&#xff0c;而信息传播的速度有非常广泛&#xff0c;加上各种隐私被盗取或者偷窥&#xff0c;让现代人的生活总是充斥着不安&#xff0c;所以我们各类的电子设备诸如手机&#xff0c;电脑加密是非常有必…

linux中errno使用

当linux中的C api函数发生异常时,一般会将errno变量(需include errno.h)赋一个整数值,不同的值表示不同的含义,可以通过查看该值推测出错的原因&#xff0c;在实际编程中用这一招解决了不少原本看来莫名其妙的问题。但是errno是一个数字&#xff0c;代表的具体含义还要到errno.…

unity3d 捕获系统日志,来处理一些问题

注册系统日志回调&#xff0c;根据日志内容和类型处理一些特殊问题 using UnityEngine; using System.Collections;public class SetupVerification : MonoBehaviour {public string message "";private bool badSetup false;void Awake (){Application.RegisterL…

em算法 实例 正态分布_EM算法解GMM

看了很多介绍EM算法的文章&#xff0c;但是他们都没有代码&#xff0c;所以在这里写出来。Jensen 不等式参考期望最大算法Jensen不等式在优化理论中大量用到&#xff0c;首先来回顾下凸函数和凹函数的定义。假设 是定义域为实数的函数&#xff0c;如果对于所有的 &#xff0c; …

html5 webview,HTML5+学习历程之webview经典案例

看了这么多app&#xff0c;其实基本布局使用的最多的无非两种&#xff0c;如下图&#xff1a;类似微信类似QQ在这里小编简单说下这两种布局简单的实现思路&#xff0c;当然如果你还有更好的方法&#xff0c;请在下面留言&#xff0c;让更多人知道你更好的方法&#xff01;第一种…