内容插入以在键盘出现时移动表格视图

时间:2012-03-16 14:03:52

标签: ios xcode ipad

我遇到了一个简单的问题,当键盘显示时移动我的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");
}

1 个答案:

答案 0 :(得分:2)

我相信你在这里尝试做的是使桌子的滚动区域变小,以便不使键盘与桌子重叠。在那种情况下,也许你应该把

UIEdgeInsets e = UIEdgeInsetsMake(0, 0, keyboardBounds.size.height, 0);

而不是keyboardBounds.size.width。如果您想“移动”表格,那么只有修改其frame.origin或其center才能执行此操作。