gpt4 book ai didi

objective-c - UITableView 设置选中行刷新控件

转载 作者:可可西里 更新时间:2023-11-01 05:56:40 25 4
gpt4 key购买 nike

我想将 UITableView 中的 selected row 设置为 refresh control。我这样做是因为我有一个 refresh control在我的 UITableView 的顶部,当我加载数据时(他们实际上并没有通过下拉它来引起它),我希望 activity indicator view 是可见(这是 刷新控件 的一部分)。

现在,我所做的是将刷新控件设置为“刷新状态”(具有旋转事件指示器)。

[self.refreshControl beginRefreshing];

这很好用,但唯一的问题是,除非上拉,否则他们看不到它,因为它是第 1 行(索引 0)的默认值,所以它是隐藏的。

注意:发生这种情况时,UITableView 中有 0 个项目(而且永远都是)。

例如,如果我去:

[self.tableView selectRowAtIndexPath:0 animated:YES scrollPosition:UITableViewScrollPositionTop];

它将所选项目的位置设置为第一行,但我想让它显示刷新控件,所以我想可能会这样做:

[self.tableView selectRowAtIndexPath:-1 animated:YES scrollPosition:UITableViewScrollPositionTop];

会工作(因为它在第一个项目下面有 1 个索引),但是编译器当然不会。

最佳答案

因为 UITableView 是 UIScrollView 的子类,您可以通过设置 tableView 的 contentOffset 来在第一行上方显示刷新 Controller 。例如,如果您的刷新控件的高度为 100,您可以将刷新控件动画化到 View 中。

[self.tableView setContentOffset:CGPointMake(0, -100) animated:YES];

或者简单地显示它而不使用任何动画或实现您自己的动画:

self.tableView.contentOffest = CGPointMake(0, -100);

刷新完成后您可以将其设置回 0 并且您想要隐藏控件。

Documentation link here

关于objective-c - UITableView 设置选中行刷新控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13984022/

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