如何在键盘隐藏上为 UITableView 设置动画?
How to animate back an UITableView on keyboard hide?
我在 UITableView 的最后一个单元格中有一个 UItextField。
我处理键盘隐藏的代码:
func keyboardWillBeHidden(aNotification:NSNotification) {
let contentInsets: UIEdgeInsets = UIEdgeInsetsZero
tableView.contentInset = contentInsets
tableView.scrollIndicatorInsets = contentInsets
}
在 iOS8 上完美运行,动画流畅。
在 iOS7(无动画)!
上粗暴地回到原来的位置
iOS7 上的解决方案是什么?
我会先试试这个。根据您的喜好调整动画持续时间。
UIView.animateWithDuration(0.2, animations: { () -> Void in
let contentInsets: UIEdgeInsets = UIEdgeInsetsZero
self.tableView.contentInset = contentInsets
self.tableView.scrollIndicatorInsets = contentInsets
})
我以前做过。它在 objective 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];
}];
}
我在 UITableView 的最后一个单元格中有一个 UItextField。 我处理键盘隐藏的代码:
func keyboardWillBeHidden(aNotification:NSNotification) {
let contentInsets: UIEdgeInsets = UIEdgeInsetsZero
tableView.contentInset = contentInsets
tableView.scrollIndicatorInsets = contentInsets
}
在 iOS8 上完美运行,动画流畅。 在 iOS7(无动画)!
上粗暴地回到原来的位置iOS7 上的解决方案是什么?
我会先试试这个。根据您的喜好调整动画持续时间。
UIView.animateWithDuration(0.2, animations: { () -> Void in
let contentInsets: UIEdgeInsets = UIEdgeInsetsZero
self.tableView.contentInset = contentInsets
self.tableView.scrollIndicatorInsets = contentInsets
})
我以前做过。它在 objective 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];
}];
}