gpt4 book ai didi

iphone - 如何以编程方式强制 EGORefreshTableHeaderView 更新

转载 作者:可可西里 更新时间:2023-11-01 05:06:35 24 4
gpt4 key购买 nike

我试图强制 EGORefreshTableHeaderView 从代码中更新。当我下拉时,一切正常,TableView(root)得到刷新。但是我有一个模态视图,用户可以在其中订阅某些实体。当他订阅一个时,第一个(根) TableView 中的重新加载方法被触发。此方法建立与服务器的连接,根据订阅加载一些特定数据,将其存储在 CoreData DB 中并更新 TableView (root)。

问题是,当用户仅连接到 3G 或边缘网络时,在自己的线程中处理的下载可能需要几秒钟。为了向用户表明发生了某些事情,我想显示 EGORefreshTableHeaderView

我发现我可以设置刷新 View 的缩进并手动显示加载图标,但我想知道是否有更简单的解决方案,只需触发 EGORefreshTableHeaderView 上的委托(delegate)或方法>?

最佳答案

您是否尝试过使用 egoRefreshScrollViewDataSourceStartManualLoading

假设您的 EGORefreshTableHeaderView 实例被命名为 _refreshTableHeaderView,那么调用如下:

[_refreshTableHeaderView egoRefreshScrollViewDataSourceStartManualLoading:self.tableView];

对我有用...


所以,我已经太久没有使用它了,我忘记了我自己应用了更改......

我修改了 EGORefreshTableHeaderDelegate(在 EGORefreshTableHeaderView.h 中声明)以添加此附加协议(protocol):

- (void)egoRefreshScrollViewDataSourceStartManualLoading:(UIScrollView *)scrollView;

以及实现(在 EGORefreshTableHeaderView.m 中):

- (void)egoRefreshScrollViewDataSourceStartManualLoading:(UIScrollView *)scrollView {
[self setState:EGOOPullRefreshLoading];

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.2];
scrollView.contentInset = UIEdgeInsetsMake(60.0f, 0.0f, 0.0f, 0.0f);
[UIView commitAnimations];

if ([_delegate respondsToSelector:@selector(egoRefreshTableHeaderDidTriggerRefresh:)]) {
[_delegate egoRefreshTableHeaderDidTriggerRefresh:self];
}
}

如果您需要更多帮助,请告诉我。

(感谢 enormego 的出色工作!)

关于iphone - 如何以编程方式强制 EGORefreshTableHeaderView 更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10633956/

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