ios 键盘遮挡输入框解决方法

原创 2015年11月20日 14:51:05

- (void)viewDidLoad {

    [super viewDidLoad];

    // Do any additional setup after loading the view, typically from a nib.

    //注册键盘弹起与收起通知

    [[NSNotificationCenter defaultCenteraddObserver:self

                                             selector:@selector(keyboardWillShow:)

                                                 name:UIKeyboardWillShowNotification

                                               object:nil];

    

}

-(void)keyboardWillShow:(NSNotification *)note

{

    NSDictionary *info = [note userInfo];

    CGSize keyboardSize = [[info objectForKey:UIKeyboardFrameEndUserInfoKey]CGRectValue].size;

    _keyBoardHeight = keyboardSize.height;

    

    

    CGRect frame = _userNameTextfield.frame;

    int offset = frame.origin.y + 32 - (self.view.frame.size.height -_keyBoardHeight);

    NSTimeInterval animationDuration = 0.30f;

    [UIView beginAnimations:@"ResizeForKeyboard" context:nil];

    [UIView setAnimationDuration:animationDuration];

        //将视图的Y坐标向上移动offset个单位,以使下面腾出地方用于软键盘的显示

    if(offset > 0)

        self.view.frame = CGRectMake(0.0f, -offset, self.view.frame.size.width,self.view.frame.size.height);

    [UIView commitAnimations];

}  

//当用户按下return键或者按回车键,keyboard消失

-(BOOL)textFieldShouldReturn:(UITextField *)textField

{

    [textField resignFirstResponder];

    return YES;

}

//输入框编辑完成以后,将视图恢复到原始状态

-(void)textFieldDidEndEditing:(UITextField *)textField

{

    NSTimeInterval animationDuration = 0.30f;

    [UIView beginAnimations:@"ResizeForKeyboard" context:nil];

    [UIView setAnimationDuration:animationDuration];

    self.view.frame =CGRectMake(00self.view.frame.size.widthself.view.frame.size.height);

    [UIView commitAnimations];

}


中国如何引进CMM评估,促进软件产业发展

中国如何引进CMM评估,促进软件产业发展北京软件行业协会(本文转载自软件工程专家网www.21cmm.com) 一、CMM的含义及作用   CMM(软件能力成熟度模型:Capability Matur...
  • gigix
  • gigix
  • 2002-03-08 09:19:00
  • 1565

iOS 键盘挡住输入框的解决方案

原理:利用通知来实现对键盘状态的监听 直接上代码 1.注册通知/* 键盘即将弹出 UIKeyboardWillShowNotification 键盘已经弹出 ...
  • qq_28828485
  • qq_28828485
  • 2016-09-01 15:56:07
  • 98

解决IOS安卓虚拟键盘挡住input问题

在做微信移动端IM的时候 ios和安卓会遇到input被键盘挡住的问题挺影响用户体验的 解决思路使用scrollIntoView 方法:scrollIntoView()可以在所有的HTML元素上调用...
  • qq_28027903
  • qq_28027903
  • 2018-01-22 15:28:55
  • 207

H5页面ios键盘遮挡input问题

完美方案// 解决输入法被激活时 底部输入框被遮住问题 <textarea type="text" value="" ref="tex...
  • qq_14993375
  • qq_14993375
  • 2018-02-19 01:34:34
  • 315

关于手机端IOS系统微信中虚拟键盘遮挡input输入框问题的解决方案

手机端IOS系统微信中虚拟键盘遮挡input输入框问题解决方案
  • github_37533433
  • github_37533433
  • 2017-03-26 08:45:26
  • 19875

iOS 键盘遮挡输入框解决方案

- (void)addNotification { [[NSNotificationCenter defaultCenter] addObserver:self selector:@select...
  • saw471
  • saw471
  • 2016-12-21 14:30:28
  • 1067

<em>iOS</em>下Html页面中<em>input</em>获取焦点弹出<em>键盘</em>时挡住<em>input</em>解决方案

<em>iOS</em>下Html页面中input获取焦点弹出键盘时挡住input解决方案兼容<em>ios</em>8 <em>ios</em>9 <em>ios</em> 10... <em>iOS</em>下Html页面中input获取焦点弹出键盘时...系统微信中虚拟<em>键盘遮挡input</em>输入框问题...
  • 2018年04月13日 00:00

【移动端H5开发】iOS下页面底部的input被弹出键盘遮挡问题

【移动端H5开发】iOS下页面底部的input被弹出键盘遮挡问题 状况 在iOS下,如果页面底部有个input输入框,那么在input获得焦点,弹出虚拟键盘时,有一定的几率,i...
  • u010884123
  • u010884123
  • 2017-08-13 15:08:50
  • 4568

IOS中输入框被软键盘遮挡的解决办法

做IOS开发时,难免会遇到输入框被键盘遮掩的问题。上网上搜索了很多相关的解决方案,看了很多,但是由衷的觉得太麻烦了。     有的解决方案是将视图上的所有的东西都添加到一个滚动视图对象( UIScr...
  • enuola
  • enuola
  • 2012-08-28 18:30:34
  • 47753

ios开发时,键盘遮挡输入框解决方法

ios开发中,键盘会自动遮挡UITextFiled,用户友好性差,下面有几种解决的办法。 1、界面中底部使用的UIView,然后在上面放入的界面。将下面的代码加入即可。 - (void)textF...
  • ssrrxx111
  • ssrrxx111
  • 2015-09-02 16:38:19
  • 4934
收藏助手
不良信息举报
您举报文章:ios 键盘遮挡输入框解决方法
举报原因:
原因补充:

(最多只允许输入30个字)