- 浏览: 2528519 次
- 性别:
- 来自: 苏州
文章分类
最新评论
-
jsntghf:
peio 写道这个怎么运行?Ruby On Rails的环境搭 ...
多文件上传之uploadify -
peio:
这个怎么运行?
多文件上传之uploadify -
往事如烟1:
我的项目是自己init了一个原始的project,之后将ver ...
React Native热部署之CodePush -
jsntghf:
往事如烟1 写道我按照你的说明进行,发现app退出之后,在进入 ...
React Native热部署之CodePush -
往事如烟1:
我按照你的说明进行,发现app退出之后,在进入不正确,请问是什 ...
React Native热部署之CodePush
ViewController.h
#import <UIKit/UIKit.h> @interface ViewController : UIViewController<UITableViewDataSource, UITableViewDelegate> { //表格数据数组 NSMutableArray *tableData; //加载更多时显示的数据 NSMutableArray *tableMoreData; //加载状态 BOOL _loadingMore; UITableView *table; } @property (nonatomic, retain) UITableView *table; @property (nonatomic, retain) NSMutableArray *tableData; @property (nonatomic, retain) NSMutableArray *tableMoreData; //创建表格底部 - (void) createTableFooter; //开始加载数据 - (void) loadDataBegin; //加载数据中 - (void) loadDataing; //加载数据完毕 - (void) loadDataEnd; @end
ViewController.m
#import "ViewController.h" @interface ViewController () @end @implementation ViewController @synthesize table; @synthesize tableData; @synthesize tableMoreData; - (void) viewDidLoad { [super viewDidLoad]; table = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, 460) style:UITableViewStylePlain]; table.delegate = self; table.dataSource = self; [self.view addSubview:table]; tableData = [[NSMutableArray alloc] initWithObjects: @"January", @"February", @"March", @"April", @"May", @"June", @"July", @"August", @"September", @"October", @"November", @"December", nil]; tableMoreData = [[NSMutableArray alloc] initWithObjects:@"BAIDU", @"GOOGLE", @"FACEBOOK", @"YAHOO", nil]; [self createTableFooter]; } #pragma mark - #pragma mark Table view data source - (NSInteger) tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return [tableData count]; } - (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier = @"Cell"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease]; } cell.textLabel.text = [tableData objectAtIndex:indexPath.row]; return cell; } - (void) scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate { //到最底部时显示更多数据 if(!_loadingMore && scrollView.contentOffset.y > ((scrollView.contentSize.height - scrollView.frame.size.height))) { [self loadDataBegin]; } } //开始加载数据 - (void) loadDataBegin { if (_loadingMore == NO) { _loadingMore = YES; UIActivityIndicatorView *tableFooterActivityIndicator = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(75.0f, 10.0f, 20.0f, 20.0f)]; [tableFooterActivityIndicator setActivityIndicatorViewStyle:UIActivityIndicatorViewStyleGray]; [tableFooterActivityIndicator startAnimating]; [self.table.tableFooterView addSubview:tableFooterActivityIndicator]; [self loadDataing]; } } //加载数据中 - (void) loadDataing { for (int x = 0; x < [tableMoreData count]; x++) { [tableData addObject:[tableMoreData objectAtIndex:x]]; } [[self table] reloadData]; [self loadDataEnd]; } //加载数据完毕 - (void) loadDataEnd { _loadingMore = NO; [self createTableFooter]; } //创建表格底部 - (void) createTableFooter { self.table.tableFooterView = nil; UIView *tableFooterView = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, self.table.bounds.size.width, 40.0f)]; UILabel *loadMoreText = [[UILabel alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 116.0f, 40.0f)]; [loadMoreText setCenter:tableFooterView.center]; [loadMoreText setFont:[UIFont fontWithName:@"Helvetica Neue" size:14]]; [loadMoreText setText:@"上拉显示更多数据"]; [tableFooterView addSubview:loadMoreText]; self.table.tableFooterView = tableFooterView; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; } - (void)viewDidUnload { } - (void)dealloc { [super dealloc]; } @end
发表评论
-
Error watching file for changes: EMFILE
2016-12-15 11:57 1299执行npm start后报错: Error watc ... -
CocoaPods升级1.1.1报错
2016-12-15 08:39 793ERROR: While executing gem .. ... -
Visual Studio Code运行React Native报错
2016-06-13 09:43 1612React Native:0.27.2 React:15 ... -
React Native 0.27.2编译报错this._nativeModule.addListener is not a function
2016-06-12 15:21 3854React Native:0.27.2 React:15 ... -
Unable to resolve module ReactDefaultPerf from
2016-06-02 13:04 2782package.json信息如下: "reac ... -
React Native 0.26.2编译报错Undefined symbols for architecture x86_64
2016-05-26 11:15 2014React Native:0.26.2 React:15. ... -
Failed to update auto layout status: Failed to load designables from path (null)
2016-04-05 22:11 1714确保CocoaPods是0.36.1以上版本,然后在podf ... -
集成微信支付出现Undefined symbols for architecture x86_64错误
2016-03-21 13:22 1751Undefined symbols for architec ... -
React Native热部署之CodePush
2016-01-10 22:27 6240本文使用的环境是Mac OS 10.11.1、Xcode ... -
浅谈React Native中的FlexBox布局
2015-11-17 18:38 4304React Native通过一个基于FlexBox的布局引 ... -
React Native之构建一个简单的列表页
2015-10-23 14:45 2160本文中我们将创建一个简单的电影应用,这个应用将从Rotten ... -
React Native之环境搭建
2015-10-20 16:30 1445本文使用的环境是Mac O ... -
获取图片属性的方法
2015-10-18 20:43 3143很多时候我们需要获 ... -
NSCache的下标用法
2015-09-18 00:19 1213NSCache类和NSDictionary类很相似,也提供 ... -
如何给category添加属性
2015-08-16 10:41 691主要是使用了runtime中的associative机制。 ... -
UITableView的两种重用Cell方法的区别
2015-08-10 13:07 16145UITableView中有两种重用Cell的方法: - ... -
SDImageCache.m报错Unused variable 'fileName'
2015-08-04 21:56 1172GCC手册中的相关解释: unused:This att ... -
Swift调用Objective-C
2015-07-13 23:33 1226Swift调用Objective-C需要一个名为<工程 ... -
使用GCD实现倒计时
2015-07-24 21:47 1084__block int timeout = 60; // ... -
导航栏加分割线的实现
2015-07-01 22:00 1763self.view.backgroundColor = [U ...
相关推荐
要实现“Jquery手机端上拉滚动加载更多数据”,我们需要以下几个关键步骤和组件: 1. **引入Jquery库**:压缩包中的`jquery-2.2.3.min.js`是Jquery的核心库,它是实现此类功能的基础。在`index.html`中,需要将这个...
在本示例中,主要介绍了如何利用Vue.js框架来实现一个上拉加载更多数据的分页功能。这一功能在前端开发中十分常见,主要用于在用户浏览网页时动态地从服务器获取更多数据,以提升用户体验。 首先,我们需要了解Vue....
2. **上拉加载更多**:当用户在页面底部向上拉动时,会触发加载更多数据的事件。这在处理无限滚动列表时非常有用,可以动态加载新的内容而无需用户点击加载按钮。 **三、使用步骤** 1. **引入依赖**:首先,在HTML...
当用户滚动到底部时,触发加载更多数据的逻辑。在`OnScrollListener`的`onScrollStateChanged()`或`onScroll()`方法中,我们可以判断当前是否到达底部。一种常见的方式是检查`GridView`的最后一个可见项的索引加上`...
在网页开发中,"jQuery 上拉加载更多"是一种常见的优化用户体验的技术,特别是在处理大量数据或内容的页面上,如新闻列表、社交媒体动态或电商产品展示等。这种技术允许用户滚动到页面底部时自动加载更多内容,而...
"下拉刷新与上拉加载更多SwipeRefreshLayout"是Android SDK提供的一种组件,用于实现这两种操作,为用户提供更加流畅的数据获取体验。本文将深入探讨这一组件的工作原理、使用方法及其扩展——...
当用户滚动到页面底部时,此事件会被触发,开发者可以在事件处理函数中添加加载更多数据的逻辑。在加载完毕后,可以更新列表并提供适当的提示信息,例如“已加载全部”或“没有更多数据”。 6. **数据管理与渲染**...
在Android开发中,"仿淘宝上拉加载更多"是一种常见的滚动刷新效果,它通常用于电商平台或者信息流应用,用户在浏览到底部时可以自动或手动触发加载更多数据的功能。这个功能提高了用户体验,使得用户无需手动翻页...
下面将详细介绍如何使用JQuery实现手机端的上拉滚动加载更多数据。 首先,我们需要理解滚动事件(scroll event)。在JQuery中,可以使用`$(window).on('scroll', function() {...})`来监听窗口的滚动事件。当用户...
"html5触屏手机端上下拉滑动加载更多数据"这个主题,正是讨论如何在网页中实现一种常见的滚动加载效果,即“无限滚动”或“上拉加载更多”。这种设计模式常用于新闻、社交网络和电商网站,当用户接近页面底部时,...
3. **监听滚动事件(Scroll Event Listening)**:在前端,我们需要监听用户的滚动行为,当检测到用户滚动到列表的底部时,触发加载更多数据的函数。这通常通过JavaScript实现,例如在React或Vue等框架中,可以使用...
“上拉加载更多”功能是在用户滚动到列表底部时自动加载更多数据的机制。这种设计可以减少用户等待加载新内容的时间,提高用户体验。在ListView中实现这一功能,我们需要监听滚动事件,当达到底部时,向服务器请求更...
上拉加载更多则是在ListView底部向上滑动时,加载更多数据。这两个功能极大地提升了用户体验,尤其是在处理大量数据时。 自定义ListView下拉刷新通常包括以下几个步骤: 1. **创建头部布局**:下拉刷新的动画效果...
- 要实现上拉加载更多,可以监听RecyclerView的滚动事件,当接近底部时加载更多数据。这通常需要自定义一个LinearLayoutManager,并实现其OnScrollListener。 5. **优化和扩展**: - 对于大列表,可以考虑使用...
5. **数据处理**:在`onRefresh()`和加载更多数据的方法中,你需要处理数据获取、解析和更新UI的过程。通常这包括发起网络请求,解析JSON或XML数据,将新数据添加到适配器,然后调用`notifyDataSetChanged()`来更新...
而LoadMoreListView则是在ListView底部添加一个加载指示器,当用户滑动到列表底部时,自动加载更多数据。 接着,GridView是二维列表视图,适用于显示多列元素,如图片墙。与ListView类似,它同样需要Adapter来填充...
上拉加载更多则通常出现在列表底部,当用户滚动到底部时,会触发加载更多数据的逻辑。 1. **监听滚动事件**:与下拉刷新不同,上拉加载更多的实现没有现成的官方组件。开发者通常需要监听列表的滚动事件,判断是否...
1. `onLoadMore`:触发上拉加载更多时调用,向服务器请求更多数据,追加到`items`数组。 2. `load-more`组件:显示加载更多动画,`@load`事件监听加载更多操作完成。 七、实现细节 1. 通过计算属性或自定义指令处理...
"上拉加载更多"是一种常见的网页交互功能,它允许用户在滚动到页面底部时自动加载新的内容,无需点击单独的加载按钮。这种设计通常用于新闻 feed、社交媒体动态、电子商务产品列表等,提供无缝的浏览体验,使用户...
在微信小程序中,"上拉加载更多"是一种常见的功能,用于实现滚动页面时自动加载更多数据,提高用户体验,尤其在内容丰富的列表或流式布局中应用广泛。 在微信小程序中实现上拉加载更多的功能,主要涉及到以下几个...