开发者社区> 问答> 正文

请问ios中键盘遮挡了输入框,在storyboard中怎么解决。

在stroryboard中设计登录界面,账号和密码的输入框,一点击输入键盘就遮挡住了。这个问题怎么解决?

展开
收起
爵霸 2016-03-11 09:55:43 2477 0
1 条回答
写回答
取消 提交回答
  • 使用scrollview,在上面布局UI
    添加键盘显示的消息

     [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardwillShown:) name:UIKeyboardWillShowNotification object:nil];
    (void)keyboardwillShown:(NSNotification *)notif{ NSDictionary *info = [notif userInfo]; NSValue *value = [info objectForKey:UIKeyboardFrameBeginUserInfoKey]; CGSize keyboardSize = [value CGRectValue].size; CGRect rect = [[UIScreen mainScreen]bounds]; NSInteger heigth = rect.size.height; NSInteger maxY = CGRectGetMaxY(self.view.frame); if (heigth - maxY < keyboardSize.height) { rect = self.view.frame; rect.origin.y -= keyboardSize.height - heigth + maxY; self.view.frame = rect; } } 

    然后计算键盘高度,检查是否挡住了自己的输入框,挡住了就上拉scrollview,键盘消失的时候恢复scrollview

    2019-07-17 18:58:27
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
手淘iOS性能优化探索 立即下载
From Java/Android to Swift iOS 立即下载
深入剖析iOS性能优化 立即下载