gpt4 book ai didi

ios - TableView 滚动问题与内容偏移

转载 作者:行者123 更新时间:2023-11-29 13:23:25 25 4
gpt4 key购买 nike

我正在尝试滚动我的表格 View 以在键盘处于事件状态时显示我的最后一个单元格。这就是我在 tableView:cellForRowAtIndexPath:...

中所做的
if (keyboard) {

CGFloat calculatedPosY = 70 * ([Array count]-1);
MyTable.contentOffset = CGPointMake(0.0, calculatedPosY);

}

它第一次正常工作,但第二次当它的重新加载表不滚动时。第三次再次滚动并显示表格的最后一个单元格。或者,代码正在运行并且日志提供相同的内容偏移量 (0,280)。

请告诉我我做错了什么。提前致谢。

最佳答案

您需要做两件事 - 1) 确保表格 View 适合屏幕上未被键盘覆盖的可见部分,以及 2) 将表格滚动到最后一行。

要调整 View 大小,我会注册以检测出现的键盘:

    [[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector (keyBoardWillShow:)
name: UIKeyboardWillShowNotification object: nil];

keyBoardWillShow: 方法将在键盘出现时调用,您可以调整 tableview 的大小:

- (void)keyBoardWillShow:(NSNotification *)aNotification
{
NSValue *value = [[aNotification userInfo] objectForKey: UIKeyboardFrameEndUserInfoKey];
CGRect keyboardRect = [value CGRectValue];

CGFrame tableFrame = self.tableView.frame;
tableFrame.height -= keyboardRect.size.height
self.tableView.frame = tableFrame;
}

最后,滚动到最后一个单元格(如果您愿意,可以在 keyBoardWillShow: 中执行此操作):

[tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:lastRowIndex inSection:0] atScrollPosition:UITableViewScrollPositionBottom animated:YES];

关于ios - TableView 滚动问题与内容偏移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13798692/

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