键盘遮挡输入框,不需要使用UIScrollView也可以解决。

话不多说,直接上代码。
先定义两个输入框

//用户名

@property(nonatomic,strong)UITextField*userField;
//密码
@property(nonatomic,strong)UITextField*passwordField;

监听键盘弹出的方法

-(void)AddObserverForKeyboard
{
    //监听当键盘出现或改变时收出消息
    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(keyboardWillShow:)
                                                 name:UIKeyboardWillShowNotification
                                               object:nil];
    
    //监听当键退出时收出消息
    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(keyboardWillHide:)
                                                 name:UIKeyboardWillHideNotification
                                               object:nil];
}

获取键盘的高度

- (void)keyboardWillShow:(NSNotification *)aNotification
{
    NSDictionary *userInfo = [aNotification userInfo];
    double duration = [[userInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey] doubleValue];
   
    CGRect keyboardRect = [[userInfo objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue];
    CGFloat mark =(Height -CGRectGetMaxY(self.bigBgView.frame)+
                  KIphoneSize_Height(100))-keyboardRect.size.height;
    if (mark<0) {
        [UIView animateWithDuration:duration animations:^{
            self.bigBgView.transform  =CGAffineTransformMakeTranslation(0, mark);
        }];
    }
}

背景图随键盘移动的高度

CGRectGetMaxY(self.bigBgView.frame)+
                  KIphoneSize_Height(100))-keyboardRect.size.height;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容