在stroryboard中设计登录界面,账号和密码的输入框,一点击输入键盘就遮挡住了。这个问题怎么解决?
使用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
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。