zoukankan      html  css  js  c++  java
  • 解决iOS键盘弹出遮挡输入框问题

    当键盘弹出时有可能遮挡住输入框,直接给出一个简单的解决方案

    - (void)viewDidLoad {

        [super viewDidLoad];

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

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

        [[NSNotificationCenter defaultCenter] addObserver: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(0, 0, self.view.frame.size.width, self.view.frame.size.height);

        [UIView commitAnimations];

    }

  • 相关阅读:
    如何用阿里云ECS搭建网站
    win10下使用pipreqs提示不是内部或外部命令
    python使用openpyxl获取合并单元格的值
    Chrome的一些常用小tips
    Ubantu部署
    分不清ERP、SAP、MES?干货整理看这里
    ApacheCN 数据科学译文集 20210313 更新
    ApacheCN 计算机视觉译文集 20210218 更新
    ApacheCN 计算机视觉译文集 20210212 更新
    ApacheCN 计算机视觉译文集 20210203 更新
  • 原文地址:https://www.cnblogs.com/hello-LJ/p/4460499.html
Copyright © 2011-2022 走看看