gpt4 book ai didi

ios - UITableView 滚动时重置 ContentOffset

转载 作者:行者123 更新时间:2023-11-28 19:54:32 26 4
gpt4 key购买 nike

我在 UIViewController 中有一个 UITableView 作为 subview 。当用户按下 tableView 下的 UITextfield 时,我在键盘出现时设置 tableView 的 contentOffset。如果我滚动 1 点(向上/向下), TableView 会将其 contentOffset 重置为其默认值。我确定我不会在我的代码中的任何地方将 contentOffset 重置为零。为什么会这样?这是我设置 ContentOffset 的方式:

CGRect keyboardEndFrame = [[[notification userInfo] objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue];

[_tableView setContentOffset:CGPointMake(0, keyboardEndFrame.size.height) animated:YES];

最佳答案

要向 UITableView 添加填充,以便它的内容可以在键盘上方滚动,您可以这样做:

-(void) keyboardMoved:(NSNotification*)notify {

// Get values
CGRect endFrame;
[[[notify userInfo] valueForKey:UIKeyboardFrameEndUserInfoKey] getValue:&endFrame];
endFrame = [self.view convertRect:endFrame fromView:nil];

// Add padding
int inset = self.view.bounds.size.height - endFrame.origin.y;
tableView.contentInset = UIEdgeInsetsMake(0, 0, inset < 0 ? 0 : inset, 0);
tableView.scrollIndicatorInsets = tableView.contentInset;

}

关于ios - UITableView 滚动时重置 ContentOffset,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27251393/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com