uitableview 关于键盘挡住输入框解决方法
2016-09-13 14:50
441 查看
// // AboutKeyBoardEventViewController.m // QueryBussinessInfo // // Created by mac on 16/8/23. // Copyright © 2016年 cqytjr. All rights reserved. // #import "AboutKeyBoardEventViewController.h" @interface AboutKeyBoardEventViewController () @end @implementation AboutKeyBoardEventViewController - (void)viewDidLoad { [super viewDidLoad]; self.tableView = [[UITableView alloc]initWithFrame:self.view.bounds]; [self.view addSubview:self.tableView]; //监听键盘弹出事件 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil]; //监听键盘隐藏事件 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil]; } -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ return 0; } -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ return nil; } #pragma mark - 键盘即将弹出事件处理 - (void)keyboardWillShow:(NSNotification *)notification { //获取键盘信息 NSDictionary *keyBoardInfo = [notification userInfo]; //获取动画时间 CGFloat duration = [[keyBoardInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey] floatValue]; //获取键盘的frame信息 NSValue *value = [keyBoardInfo objectForKey:UIKeyboardFrameEndUserInfoKey]; CGSize keyboardSize = [value CGRectValue].size; [UIView animateWithDuration:duration animations:^{ // CGRect frame = _chatBar.frame; // frame.origin.y = SCREENHEIGHT - keyboardSize.height - frame.size.height; // _chatBar.frame = frame; CGRect rect = self.tableView.frame; rect.size.height = keyboardSize.height; self.tableView.frame = rect; } completion:nil]; } #pragma mark - 键盘即将隐藏事件 - (void)keyboardWillHide:(NSNotification *)notification { //获取键盘信息 NSDictionary *keyBoardInfo = [notification userInfo]; //获取动画时间 CGFloat duration = [[keyBoardInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey] floatValue]; //获取键盘的frame信息 [UIView animateWithDuration:duration animations:^{ CGRect rect = self.tableView.frame; rect.size.height = self.view.bounds.size.height; self.tableView.frame = rect; } completion:nil]; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } /* #pragma mark - Navigation // In a storyboard-based application, you will often want to do a little preparation before navigation - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { // Get the new view controller using [segue destinationViewController]. // Pass the selected object to the new view controller. } */ @end
相关文章推荐
- ios键盘弹出挡住带自定义UITableViewCell的UITableView的解决方法
- UIScrollView上解决键盘挡住输入框的方法
- 关于UITableView的cell的分割线左边缺失的解决方法
- 完善-- iOS之键盘挡住输入框的解决方法
- UITableView的多个UITextField时,有的被键盘挡住怎么解决
- ios解决键盘挡住输入框的方法
- Android的WebView加载的Html输入框被手机键盘挡住解决
- 关于UITableView的cell复用问题的3种解决方法
- UITableView的多个UITextField时,有的被键盘挡住怎么解决
- 关于UITableView 的didSelectRowAtIndexPath代理方法不回调的解决。
- ionic在开发ios系统微信时键盘挡住输入框的解决方法(键盘弹出问题)
- ionic在开发ios系统微信时键盘挡住输入框的解决方法(键盘弹出问题)
- UITableView的多个UITextField时,有的被键盘挡住怎么解决
- Android WebView 软键盘遮挡输入框问题的解决方法
- 完善-- iOS之键盘挡住输入框的解决方法
- UITableView的多个UITextField时,有的被键盘挡住怎么解决
- UITableView的多个UITextField时,有的被键盘挡住怎么解决
- 关于使用UIAlertView之后pop或者push时键盘闪退问题解决方法
- UITableView的多个UITextField时,有的被键盘挡住怎么解决
- iOS之键盘挡住输入框的解决方法