如何动画回键盘上的UITableView隐藏?

时间:2015-04-08 17:15:58

标签: ios uitableview swift uitextfield

我在UITableView的最后一个单元格中有一个UItextField。 我处理键盘隐藏的代码:

func keyboardWillBeHidden(aNotification:NSNotification) {
      let contentInsets: UIEdgeInsets = UIEdgeInsetsZero
      tableView.contentInset = contentInsets
      tableView.scrollIndicatorInsets = contentInsets
}

在iOS8上完美运行,动画流畅。 在iOS7上残酷地回到原来的位置(没有动画)!

iOS7上的解决方案是什么?

2 个答案:

答案 0 :(得分:1)

我先试试这个。根据您的喜好调整动画持续时间。

 UIView.animateWithDuration(0.2, animations: { () -> Void in
            let contentInsets: UIEdgeInsets = UIEdgeInsetsZero
            self.tableView.contentInset = contentInsets
            self.tableView.scrollIndicatorInsets = contentInsets
        })

答案 1 :(得分:1)

我以前做过这个。它的目标是c。检查一下 -

- (void)keyboardWillHide:(NSNotification *)sender
{

    NSTimeInterval duration = [[[sender userInfo] objectForKey:UIKeyboardAnimationDurationUserInfoKey] doubleValue];

    [UIView animateWithDuration:duration animations:^{
        UIEdgeInsets edgeInsets = UIEdgeInsetsZero;
        [_tableView setContentInset:edgeInsets];
        [_tableView setScrollIndicatorInsets:edgeInsets];
    }];
}