NSInteger _currentPageNo;
UIRefreshControl *_refreshControl;
BOOL _isPullRefresh;///判断是否是下拉
BOOL scrolling;///是否正在上拉刷新
_refreshControl = [[UIRefreshControlalloc] initWithFrame:CGRectMake(0.0f, 0.0f, SCREENBOUND.size.width, 50.0f)];
_refreshControl.tintColor = [UIColorcolorWithHexString:@"#AAAAAA"alpha:1.0f];
[_refreshControladdTarget:selfaction:@selector(requestNewData) forControlEvents:UIControlEventValueChanged];
self.refreshControl = _refreshControl;
///添加表格底部的Actitivy;
self.activity= [[UIActivityIndicatorViewalloc]
initWithFrame : CGRectMake(0, 0, 32.0f, 32.0f)] ;
[_activitysetActivityIndicatorViewStyle: UIActivityIndicatorViewStyleGray];
_activity.color=[UIColorblackColor];
[self.tableViewaddSubview:_activity];
viewDidLoad 里面:
///下拉方法。
_currentPageNo = 1;
_isPullRefresh = YES;
[selfrequestData];
#pragma mark ==========下面四个方法是下拉刷新上拉刷新用的==============
- (void)requestData
{
NetworkSuccessBlock successBlock = ^(id data) {
[_activitystopAnimating];
if (_isPullRefresh) {///如果是下拉。
[_questionData removeAllObjects];
}
[_questionData addObjectsFromArray:data[@"questions"]];
[self.tableView reloadData];
scrolling = YES;
[_refreshControlendRefreshing];
};
NetworkFailureBlock failureBlock = ^(NSError *error) {
scrolling = YES;
[_refreshControlendRefreshing];
};
[SJBQuestionModelrequestQuestionList:_questionTypepageNo:[NSStringstringWithFormat:@"%ld", (long)_currentPageNo] pageSize:@"5"isSolved:_isSolvedonSuccess:successBlock onFailure:failureBlock];
}
- (void)requestNewData
{
if (_refreshControl.refreshing) {
scrolling=NO;
_currentPageNo = 1;
_isPullRefresh = YES;
[selfrequestData];
}
}
- (void)requestMoreData
{
_currentPageNo++;
_isPullRefresh = NO;
[selfrequestData];
}
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
if (scrollView.contentOffset.y + scrollView.frame.size.height > scrollView.contentSize.height && scrolling && scrollView.contentOffset.y > 0.0f) {
_activity.center =CGPointMake(self.tableView.center.x, self.tableView.contentSize.height+kPROffsetY);
CGSize Size =self.tableView.contentSize;
Size.height+=kTableViewPullMoreDataThreadholdHeight;
self.tableView.contentSize=Size;
[_activitystartAnimating];
[selfperformSelector:@selector(requestMoreData) withObject:nilafterDelay:0.0f];
scrolling=NO;
}
}
相关推荐
在iOS开发中,下拉刷新(Pull-to-Refresh)是一种常见的用户交互模式,它允许用户通过在列表顶部向下拉动来加载更多数据或更新现有数据。本教程将介绍如何使用EGOTableViewPullRefresh开源库在iOS应用中实现下拉刷新...
在iOS应用开发中,下拉刷新(Pull-to-Refresh)是一种常见的交互设计,它允许用户通过下拉列表来触发数据的更新。自定义下拉刷新控件可以让你根据项目需求定制刷新动画和视觉效果,提升用户体验。下面我们将深入探讨...
在iOS开发中,用户界面的交互性和动态性是提升用户体验的关键因素之一,而下拉刷新和上拉加载功能就是这种体验的重要组成部分。本教程将详细介绍如何在iOS项目中实现自定义的下拉刷新和上拉加载,使得开发者可以根据...
在iOS开发中,"底部下拉刷新"是一个常见的功能,特别是在使用UITableView或UICollectionView时,用于加载更多数据。这个功能让用户可以方便地查看更多的内容而无需手动滚动到页面顶部。以下是对这一主题的详细阐述:...
在Android开发中,"仿iOS下拉刷新上拉加载"是一种常见的用户界面功能,它提供了类似于iOS设备上滚动到底部自动加载更多数据或顶部下拉更新内容的交互体验。这个功能在很多应用中都能见到,比如新闻阅读、社交媒体...
在iOS开发中,下拉刷新(Pull-to-Refresh)和上拉加载更多(Infinite Scrolling)是提高用户体验的关键功能,特别是在浏览列表或内容流时。这两种技术允许用户通过简单的手势来更新内容或加载更多数据。本文将详细...
在iOS开发中,下拉刷新(Pull-...总结,iOS下拉刷新功能的实现可以通过使用苹果的UIRefreshControl,自定义视图,或者借助第三方库来完成。理解其工作原理和注意事项,能够帮助开发者创建更流畅、用户体验更好的应用。
在移动应用开发中,"仿iOS的下拉刷新"是一个常见的功能,特别是在Android平台上,它模仿了苹果iOS系统的下拉刷新效果。这种效果通常用于列表视图,当用户向下拉动列表到顶部时,会显示出一个动画,表示正在加载新的...
这个压缩包“ios-下拉刷新 上拉加载.zip”显然是一个iOS开发的学习示例,包含了作者自编的刷新控件的代码,帮助开发者理解这两种功能的实现原理和方法。 下拉刷新(Pull-to-Refresh)通常出现在列表视图的顶部,当...
这个“iOS下拉刷新WebView”的主题就涉及到了如何在iOS应用中集成下拉刷新功能到WKWebView或者UIWebView上。 首先,我们要理解下拉刷新(Pull-to-Refresh)的基本概念。这是一种常见的用户界面设计模式,用户在滚动...
在iOS应用开发中,上拉加载(Infinite Scrolling)和下拉刷新(Pull-to-Refresh)是提高用户体验的关键功能,特别是在浏览列表或内容流时。`MJRefresh`是一个广泛使用的开源类库,专为实现这些功能而设计,它允许...
在iOS开发中,为了提供更好的用户体验,经常需要实现列表的上拉加载更多和下拉刷新功能。这在原生的UIKit框架中虽然可以实现,但往往需要编写较多的代码,而"ios上拉,下拉刷新第三方"库的出现则大大简化了这个过程。...
在iOS开发中,下拉刷新(Pull-to-Refresh)和上拉加载更多(Infinite Scrolling)是常见的增强用户体验的功能,特别是在使用UITableView显示大量数据时。这两种特性使得用户可以轻松地获取新数据或查看列表的剩余...
在Android应用开发中,"仿ios水滴,下拉刷新,上拉加载更多"是一种常见的交互设计,旨在提升用户体验,使用户能够轻松地获取新数据。这种设计通常应用于列表视图,例如新闻列表、社交动态等,让用户可以方便地查看...
在iOS开发中,"下拉刷新"是一种常见的用户交互功能,允许用户通过向下滑动屏幕来更新内容,通常用于新闻应用、社交媒体应用等,确保用户能够获取最新的信息。本示例将聚焦于如何在iOS应用中实现下拉刷新功能。 在...
在iOS开发中,"scroll上拉下拉刷新"是一种常见的用户界面交互,它允许用户在滚动到列表或表格视图的顶部或底部时加载更多数据。这种功能在内容丰富的应用中非常常见,如社交媒体、新闻阅读器或者电商应用,用户可以...
在iOS开发中,上拉下拉刷新控件是常见的用户界面元素,用于提供动态加载更多数据或更新内容的功能。这种控件通常与TableView或者CollectionView结合使用,为用户提供流畅且直观的交互体验。本文将深入探讨iOS上的上...
IOS风格的下拉刷新与加载更多列表组件根据系统自带ListView源码改造而来: 增加下拉刷新及滚动到底部自动加载的功能; 增加越界回弹效果; 增加自定义列表项动画的功能; 与其他下拉刷新列表组件的不同: 其他...
在iOS开发中,下拉刷新是一种常见的用户交互设计,它允许用户通过向下拉动视图来触发数据的更新,通常与网络请求相结合以获取最新的信息。本项目“ios-下拉刷新 带网络请求(Swift).zip”显然是一个使用Swift编程...
在iOS开发中,"下拉刷新上拉加载"是一种常见的用户交互模式,广泛应用于列表视图(UITableView)中,以提供更好的数据加载体验。这种功能允许用户在滚动到列表顶部时触发新数据的加载(下拉刷新),而在接近列表底部...