UITableView分页
UITableView分页上拉加载简单,ARC环境,源码如下,以作备份:
原理是,点击最后一个cell,触发一个事件来处理数据,然后reloadData
RootViewController.m + RootViewController.h
#import "RootViewController.h"@interface RootViewController ()<UITableViewDataSource, UITableViewDelegate>@property (nonatomic, strong) UITableView *tableView; @property (nonatomic, strong) NSMutableArray *dataSource;@end@implementation RootViewController- (void)viewDidLoad {[super viewDidLoad];_dataSource = [[NSMutableArray alloc] init];for (int i = 0; i < 10; i++){[_dataSource addObject:[NSString stringWithFormat:@"%d", i]];}_tableView = [[UITableView alloc] initWithFrame:self.view.boundsstyle:UITableViewStylePlain];_tableView.dataSource = self;_tableView.delegate = self;[self.view addSubview:_tableView]; }- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {// 因为要定制最后一行,所以cell多一个return _dataSource.count + 1; }- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {static NSString *reusedStr = @"demo";UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:reusedStr];if (cell == nil){cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefaultreuseIdentifier:reusedStr];}if([indexPath row] == ([_dataSource count])){// 定制最后一行的cellcell.textLabel.text=@"获取更多..";}else{// 定制普通行的cellcell.textLabel.text=[_dataSource objectAtIndex:[indexPath row]];}return cell; }- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {// 如果是最后一行点击事件,则触发一个事件if (indexPath.row == ([_dataSource count])){[self performSelectorInBackground:@selector(loadMore)withObject:nil];[tableView deselectRowAtIndexPath:indexPath animated:YES];return;} }- (void)loadMore {// 添加数据源for (int i = 0; i < 10; i++) {[_dataSource addObject:[NSString stringWithFormat:@"新%d", i]];}// 重新加载tableView [_tableView reloadData]; }@end
#import <UIKit/UIKit.h>@interface RootViewController : UIViewController@end
UITableView分页相关推荐
- 如何给mysql表添加百万条数据_给mysql一百万条数据的表添加索引
直接alter table add index 添加索引,执行一个小时没反应,并且会导致锁表:故放弃该办法,最终解决办法如下: 一.打开mysql 命令行客户端 这里我们那可以看到导出的数据文件所存放 ...
- iOS8+ UITableView自动计算cell高度并缓存
这篇文章我们来讲一下UITableView的cell自适应高度,以及遇到的问题的解决办法.在看文章之前希望你已经会UITableView的基本使用了. 先奉上这篇文章的demo的Github地址:UI ...
- UITableview高度计算
2019独角兽企业重金招聘Python工程师标准>>> 方法1:iOS8的自动计算 此方法必须使用autolayout,这里我是用的xib设置的,也可以使用第三方框架masonry设 ...
- 同一个html自动跳转分页,PageMenu分页控制器(基础篇)-相同分页页面的实现
说明:IOS没有自带的顶部滑动菜单栏控件,需要导入第三方库,我所使用的是PageMenu 界面展示 菜单分页页面1.png 菜单分页页面2.png 菜单分页页面3.png 注意:此案例的菜单分页界面的 ...
- iOS仿今日头条顶部新闻分页
仿今日头条顶部新闻分页 近日闲来无事总是刷头条,突然发现了一个有趣的现象,如下图: 当你滑动或者点击分页的名字的时候,不管当时那个分页在哪,最后都会被滚动到最中间.我又去翻了其他的资讯类的app,发现 ...
- Qt数据库应用13-通用数据库分页
一.前言 数据库分页展示,在所有的涉及到数据库记录的项目中都是需要的,除了简单的设备信息表.用户信息表这种很少几条几十条数据量的表除外,其余的日志记录表等都需要分页展示数据,少量的数据可以滚动条下拉查 ...
- android realm 分页,iOS Realm数据持久化--Realm基础知识 (一)
目录 1.Realm简介 Realm是新兴的跨平台数据库解决方案,提供多语言支持(JAVA.Objective-C.Swift.JS..Net),你可以轻松的在iOS.Android等移动平台接入.R ...
- 手把手教你JavaEE的分页查询、分页展示,有了这个,你的项目又多了一个谈资
前言: 我们在写项目的时候,往往有一些项目的信息展示.而展示的数据量往往是很大的,这时候,加入一个分页的功能往往是最理想的选择. 先简单描述一下功能: 根据你的数据量和指定的页面展示数据条数,进行查询 ...
- django自带的分页功能
django自带的分页功能 django中自带的分页功能有缺陷,但是也是一种思路,所以在下做一个整理,方便以后使用,还有服务各位小伙伴. django视图部分的代码.(注释才是重点) from dja ...
最新文章
- 设计模式——单例模式(Singleton)
- 精致3D图片切换效果,最适合企业产品展示
- Spring-整合多个配置文件
- 仿明日方舟网页html,《明日方舟》干员列表实现
- 【线上分享】如何使用开源SFU构建RTC云服务
- 避坑!gulp-imagemin运行出问题
- spring boot 核心_Spring Boot 的 10 个核心模块
- mysql怎么打开php文件_如何打开php文件
- 闻泰通讯手机软件测试笔试内容,中科方德软件测试面试笔试经验
- sublime —— 强大的插件
- 谈谈持久连接——HTTP权威指南读书心得(五)
- VectorDraw Web JS 9.9 Crack
- 手机QQ山寨微信 3万网友愤愤不平
- jquery+jplayer实现歌词同步的mp3音乐播放器效果
- 零元学Expression Design 4 - Chapter 7 使用内建功能「Clone」来达成Path的影分身之术...
- 关于AES:加密方式,让你的APK无懈可击,字节跳动Android面试全套真题解析在互联网火了
- SSM优秀宿舍评选系统毕业设计-附源码221511
- html中listbox效果,listbox控件的使用
- 2023年新版点微同城系统V30.0版+含全部完整插件
- Android 主题Theme讲解