iOS软键盘遮挡UITableView内文本框问题
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了iOS软键盘遮挡UITableView内文本框问题,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2199字,纯文字阅读大概需要4分钟。
内容图文
1、注册
UIKeyboardDidShowNotification/UIKeyboardDidHideNotification通知。
-(id) initWithNibName:(NSString*)nibNameOrNil bundle:nibBundleOrNil {
if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) {
// 写在这里,或者viewDidLoad
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardShown:) name:UIKeyboardDidShowNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardHidden:) name:UIKeyboardDidHideNotification object:nil];
}
returnself;
}
-(void) dealloc {
[[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardDidShowNotification object:nil];
[[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardDidHideNotification object:nil];
}
2、当通知到来,调整frame。
-(void) keyboardShown:(NSNotification*) notification {
_initialTVHeight = _tableView.frame.size.height;
CGRect initialFrame = [[[notification userInfo] objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue];
CGRect convertedFrame = [self.view convertRect:initialFrame fromView:nil];
CGRect tvFrame = _tableView.frame;
tvFrame.size.height = convertedFrame.origin.y;
_tableView.frame = tvFrame;
}
-(void) keyboardHidden:(NSNotification*) notification {
CGRect tvFrame = _tableView.frame;
tvFrame.size.height = _initialTVHeight;
[UIView beginAnimations:@"TableViewDown" context:NULL];
[UIView setAnimationDuration:0.3f];
_tableView.frame = tvFrame;
[UIView commitAnimations];
}
3、触发文本框,滚动tableView
-(void) textFieldDidBeginEditing:(UITextField *)textField {
NSIndexPath* path = [NSIndexPath indexPathForRow:row inSection:section];
[self performSelector:@selector(scrollToCell:) withObject:path afterDelay:0.5f];
}
-(void) scrollToCell:(NSIndexPath*) path {
[_tableView scrollToRowAtIndexPath:path atScrollPosition:UITableViewScrollPositionNone animated:YES];
}
参考:
1. http://blog.seancarpenter.net/2012/10/15/scrolling-a-uitableview-when-displaying-the-keyboard/
原文:http://blog.csdn.net/leochang130731/article/details/45440931
内容总结
以上是互联网集市为您收集整理的iOS软键盘遮挡UITableView内文本框问题全部内容,希望文章能够帮你解决iOS软键盘遮挡UITableView内文本框问题所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。