gpt4 book ai didi

ios - TableView 捕捉到最后一个单元格的底部而不是 TableFooterView

转载 作者:行者123 更新时间:2023-11-28 17:35:15 25 4
gpt4 key购买 nike

我有一个包含表格部分、单元格和 tableFooterView 的简单表格。

页脚只是一张带有阴影渐变的图片。当我滚动到底部时,我希望表格捕捉到最后一个单元格的底部,并且只在你滚动到此之外时显示阴影,然后它应该捕捉到最后一个单元格的底部,从而隐藏页脚再次。

我试图搜索这个,但我似乎没有找到正确的关键字(对 xcode 来说仍然是新的,以及所有东西的神秘/长名称),我发现的只是人们想要启用/禁用弹跳,或者想要向页脚添加自定义按钮的人。

谁能指出我正确的方向?

最佳答案

UIScrollViewUITableView 的父类(super class),可能是一个悲惨的生物。他们被编入了如此多的行为,以至于有时在纸面上看起来很容易的提议可能很难。再加上这个一个表格 View ,它只会变得更糟。

如果您决定使用 UITableViewtableFooterView 属性来完成此操作,我已经(非常)成功地使用了:

这些是 UIScrollViewDelegate 方法,您的 View Controller 可能已经是 TableView 的委托(delegate)。

- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView{
UIView *tableViewFooter = _tableView.tableFooterView;
CGFloat maxContentOffsetY = tableViewFooter.frame.origin.y - scrollView.frame.size.height;
if (scrollView.contentOffset.y > maxContentOffsetY){
//if (targetPoint.y > maxContentOffsetY){
[scrollView setContentOffset:CGPointMake(0, maxContentOffsetY) animated:YES];
}
}
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{ // called when scroll view grinds to a halt
// Check offset and correct if we landed below the correct offset
UIView *tableViewFooter = _tableView.tableFooterView;
CGFloat maxContentOffsetY = tableViewFooter.frame.origin.y - scrollView.frame.size.height;
if (scrollView.contentOffset.y > maxContentOffsetY){
[scrollView setContentOffset:CGPointMake(0, maxContentOffsetY) animated:YES];
}
}

我建议简单地向您的 View Controller 的 View 属性添加渐变。这样,当表格滚动到屏幕外时,您会看到它后面的渐变。然后您将免费获得大部分您想要的行为。

关于ios - TableView 捕捉到最后一个单元格的底部而不是 TableFooterView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9998025/

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