Chr*_*ris 4 iphone refresh objective-c uitableview ios
我试图强制EGORefreshTableHeaderView从代码更新.当我拉下来时,一切都很完美,TableView(根)得到刷新.但我有一个模态视图,用户可以在其中订阅某些实体.当他订阅一个时,第一个(根)表视图中的重载方法被触发.此方法建立与服务器的连接,根据订阅加载某些特定数据,将其存储在a中CoreData DB并更新TableView(root).
问题是当用户仅连接到3G或Edge网络时,在自己的线程中处理的下载可能需要几秒钟.为了表明用户发生了什么事,我想展示一下EGORefreshTableHeaderView.
我发现我可以设置刷新视图的缩进并手动显示加载图标,但我想知道是否通过触发委托或方法没有更简单的解决方案EGORefreshTableHeaderView?
你尝试过使用过egoRefreshScrollViewDataSourceStartManualLoading吗?
假设您的EGORefreshTableHeaderView实例名为_refreshTableHeaderView,那么调用如下:
[_refreshTableHeaderView egoRefreshScrollViewDataSourceStartManualLoading:self.tableView];
Run Code Online (Sandbox Code Playgroud)
对我有用......
所以,自从我使用它以来已经太久了,我忘了我自己应用了这个改变......
我修改EGORefreshTableHeaderDelegate(声明EGORefreshTableHeaderView.h)以添加此附加协议:
- (void)egoRefreshScrollViewDataSourceStartManualLoading:(UIScrollView *)scrollView;
Run Code Online (Sandbox Code Playgroud)
并执行(in 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];
}
}
Run Code Online (Sandbox Code Playgroud)
如果您需要更多帮助,请告诉我.
(与答谢enormego了伟大的工作!)
| 归档时间: |
|
| 查看次数: |
2923 次 |
| 最近记录: |