我遇到了一个简单的问题,当键盘显示时移动我的tableview。 我不想使用动画移动框架,而是我想使用内容插入来移动表格视图。
正在调用我的通知,因为它没有移动tableview。
- (void)keyboardWillShow:(NSNotification *)notification {
NSLog(@"%@",self.tableView1);
NSValue *keyboardBoundsValue = [[notification userInfo] objectForKey:UIKeyboardFrameEndUserInfoKey];
CGRect keyboardBounds;
[keyboardBoundsValue getValue:&keyboardBounds];
UIEdgeInsets e = UIEdgeInsetsMake(0, 0, keyboardBounds.size.height, 0);
NSLog(@"%d %d %d %d",self.tableView1.contentInset.bottom,self.tableView1.contentInset.top,self.tableView1.contentInset.left,self.tableView1.contentInset.right);
[self.tableView1 setContentInset:e];
[self.tableView1 setScrollIndicatorInsets:e];
NSLog(@"%d %d %d %d",self.tableView1.contentInset.bottom,self.tableView1.contentInset.top,self.tableView1.contentInset.left,self.tableView1.contentInset.right);
NSLog(@"%@",self.tableView1);
NSLog(@"keyboard notification");
}
答案 0 :(得分:2)
我相信你在这里尝试做的是使桌子的滚动区域变小,以便不使键盘与桌子重叠。在那种情况下,也许你应该把
UIEdgeInsets e = UIEdgeInsetsMake(0, 0, keyboardBounds.size.height, 0);
而不是keyboardBounds.size.width
。如果您想“移动”表格,那么只有修改其frame.origin
或其center
才能执行此操作。