【发布时间】:2014-12-02 14:06:17
【问题描述】:
我在 UIViewController 中有一个 UITableView 作为子视图。当用户按下tableView下的UITextfield时,我设置了键盘出现时tableView的contentOffset。如果我滚动 1 点(向上/向下),表格视图会将其 contentOffset 重置为默认值。我确定我没有在代码中的任何地方将 contentOffset 重置为零。为什么会这样? 这是我设置 ContentOffset 的方式:
CGRect keyboardEndFrame = [[[notification userInfo] objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue];
[_tableView setContentOffset:CGPointMake(0, keyboardEndFrame.size.height) animated:YES];
【问题讨论】:
-
您是否也将
UITableView的底部填充设置为与键盘一样高?要么这样,要么调整UITableView的大小,使其在键盘开始的地方结束......如果你不这样做,表格视图将在技术上滚动通过它的底部,所以用手指滚动它会导致它重置滚动位置... -
@jjv360 不,我不这样做。如何添加底部填充?
标签: ios objective-c uitableview