UITableView实现分页显示

Qt::实现qtablewidget分页功能 大佬写得很棒,很简单就实现了qtablewidget的分页功能,但是不知道会不会有什么问题,现在看起来是没问题的。 阅读详情

UITableview能够列表显示许多内容,也是我们开发中经常用的一个组件。我们经常会分页显示列表,如先显示10条记录,点击更多在添加10条,以此类推,下面是实现类似更多显示的一个demo。

实现的思路:

  • 基本上就是数据源里先只放10条, 点击最后一个cell时, 添加更多的数据到数据源中.。
  • 处理"加载更多"的那个cell的选择事件,触发一个方法来加载更多数据到列表。
  • indexPathForRow插入数据。

实现过程如下:

#import <UIKit/UIKit.h>

@interface iphone_tableMoreViewController : UIViewController 
<UITableViewDelegate,UITableViewDataSource>{ 
    
    IBOutlet UITableView *myTableView; 
    NSMutableArray *items; 
} 
@property (nonatomic,retain) UITableView *myTableView; 
@property (nonatomic,retain) NSMutableArray *items; 
@end

#import "iphone_tableMoreViewController.h" 
@implementation iphone_tableMoreViewController 
@synthesize items,myTableView; 
- (void)viewDidLoad { 
    [super viewDidLoad]; 
    items=[[NSMutableArray alloc] initWithCapacity:0]; 
    for (int i=0; i<10; i++) { 
        [items addObject:[NSString stringWithFormat:@"cell %i",i]]; 
    } 
} 
- (void)didReceiveMemoryWarning { 
    [super didReceiveMemoryWarning]; 
}

- (void)viewDidUnload { 
    items=nil; 
    self.myTableView=nil; 
} 
- (void)dealloc { 
    [self.myTableView release]; 
    [items release]; 
    [super dealloc]; 
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 
    int count = [items count]; 
    return  count + 1; 
} 
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
    static NSString *tag=@"tag"; 
    UITableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:tag]; 
    if (cell==nil) { 
        cell=[[[UITableViewCell alloc] initWithFrame:CGRectZero 
                                     reuseIdentifier:tag] autorelease]; 
    }    
    if([indexPath row] == ([items count])) { 
        //创建loadMoreCell 
        cell.textLabel.text=@"More.."; 
    }else { 
    cell.textLabel.text=[items objectAtIndex:[indexPath row]];    
    } 
    return cell; 
} 
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
   

    if (indexPath.row == [items count]) { 
        UITableViewCell *loadMoreCell=[tableView cellForRowAtIndexPath:indexPath]; 
        loadMoreCell.textLabel.text=@"loading more …"; 
        [self performSelectorInBackground:@selector(loadMore) withObject:nil]; 
       [tableView deselectRowAtIndexPath:indexPath animated:YES]; 
        return; 
    } 
    //其他cell的事件 
    
} 
-(void)loadMore 
{ 
    NSMutableArray *more; 
    more=[[NSMutableArray alloc] initWithCapacity:0]; 
    for (int i=0; i<10; i++) { 
        [more addObject:[NSString stringWithFormat:@"cell ++%i",i]]; 
    } 
    //加载你的数据 
    [self performSelectorOnMainThread:@selector(appendTableWith:) withObject:more waitUntilDone:NO]; 
    [more release]; 
} 
-(void) appendTableWith:(NSMutableArray *)data 
{ 
    for (int i=0;i<[data count];i++) { 
        [items addObject:[data objectAtIndex:i]]; 
    } 
    NSMutableArray *insertIndexPaths = [NSMutableArray arrayWithCapacity:10]; 
    for (int ind = 0; ind < [data count]; ind++) { 
        NSIndexPath    *newPath =  [NSIndexPath indexPathForRow:[items indexOfObject:[data objectAtIndex:ind]] inSection:0]; 
        [insertIndexPaths addObject:newPath]; 
    } 
   [self.myTableView insertRowsAtIndexPaths:insertIndexPaths withRowAnimation:UITableViewRowAnimationFade]; 
    
} 
@end

源代码:http://easymorse-iphone.googlecode.com/svn/trunk/iphone.tableMore/





QTableWidget的初始化、批量添加数据、批量添加控件、分页跳转、定位到指定行、添加/插入/删除行的功能实现 QTableWidget批量添加数据、批量添加控件、分页跳转、定位到指定行、添加/插入/删除行的功能实现; 批量添加QLable控件,制作LED指示灯,使用定时器,让LED红绿交替闪烁(3中闪烁形式); 批量添加QPushButton控件,实现“打开”/“关闭”的切换; 批量添加QCheckBox控件,实现“选中”/“未选中”的切换; 表格分页,上一页、下一页、首页、尾页、跳转操作; 通过滚动条定位到指定行; QTableWidget中添加/插入/删除行;... 阅读详情

相关推荐

Qt中的tablewidget 通过分页方式加载大量数据

Qt中的tablewidget 通过分页方式加载大量数据。实现加载大量数据不卡的问题。 附带listView model的加载数据方式。

QML QtQuick 2 TableView的使用:展示表格数据

在Qt5.12中,QtQuick 2 添加了 TableView 组件,功能和 QtQuick Control 1 中的 TableView 类似,但是接口大不一样(QtQuick Control 1已经处于弃用状态,不建议使用)。Qt Creator中有两个 QtQuick 2 TableView 的示例,但是都不是数据类型的,参考起来不大方便,我也是别人的 Demo 以及 Qt 文档学习了下(参考链接文本主要是用代码演示TableView的基本操作,即数据的展示和编辑。

龚建波 2万+

【深度学习基础】Temporal Fusion Transformer

从下向上看:全连接(Dense) → ELU(指数线性激活函数(比relu好点,有利于模型收敛)) → 全连接(Dense) → 门控线性单元(Gate)(Gated Linear Units (GLUs)) → Layernorm。:一方面,它可以进行静态上下文变量和动态变量的融合,另一方面,通过门控进行了特征选择操作,门控体现在GLU(门控线性单元)中,用了sigmoid控制信息的通过程度,具有良好的适应性,能够自动选择有效信息,自适应地调整网络复杂性。输入:主输入,可选的上下文向量c。

weixin_41838721的博客 1224

QTabWidget分页显示,QStackedWidget分列显示

QTabWidget QStackedWidget

m0_49415349的博客 1299

几率大的Redis面试题(含答案)

本文的面试题如下: Redis 持久化机制 缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题 热点数据和冷数据是什么 Memcache与Redis的区别都有哪些? 单线程的redis为什么这么快 redis的数据类型,以及每种数据类型的使用场景,Redis 内部结构 redis的过期策略以及内存淘汰机制【~】 Redis 为什么是单线程的,优点 如何解决redis的并发竞争key问题 Red...

睶 38万+

基于STM32F103C8T6的循迹避障小车完整制作过程(详细)----上篇(第123点)

基于STM32F103C8T6的循迹避障小车完整制作过程 由于本人的一个小项目,要做一个基于STM32的循迹避障小车,前后花了约1周的时间,这个过程种也参考了很多大神分享的资料,学到很多的东西。但是资料都比较分散,有些东西也不好找,在这里就想把自己制作小车的一个整体过程记录分享一下,希望能够帮到你。 我自己也算是一个小白,之前有做过 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎...

weixin_43924857的博客 14万+

pyqt 表格QTableWidget带分页和全选的代码实现

写了一个pyqt6的表格组件,有选择框,有分页栏,长这个样子可以全选,可以分页,下面有代码,可以直接拿去用

w1054230914的博客 1681

深入解析UE5内存分析:从Memreport到Unreal Insights

本文深入解析了UE5内存分析的两大核心工具:Memreport与Unreal Insights。Memreport提供详细的内存快照,帮助定位UObject等资源的内存占用;而Unreal Insights则能进行实时监控与历史回溯,精准追踪内存泄漏。掌握这两款工具是优化UE5项目性能、确保大型项目稳定运行的必备技能。

lg888的博客 1006

iOS-UITableView 实现分页显示的代码

iPhone之UITableView 实现分页显示的代码     UITableview 能够列表显示许多内容,也是我们开发中经常用的一个组件。我们经常会分页显示列表,如先显示 10 条记录,点击更多在添加 10 条,以此类推,下面是实现类似更多显示的一个 demo。     实现的效果如下:     点击 “More…”,实现后面的效果.

想念学生时代 8900

图形学基础知识:着色(三)Rendering Pipeline与Shader

管线(Pipeline) 什么是管线? 管线我们可以理解为流水线,流水线大家都懂,就是工厂里面生产东西的一整套流程。例如饮料厂要生产饮料,需要洗瓶子,倒饮料,加盖,包装等等,这一整套过程就是流水线。那么我们要把一个三维场景渲染成一幅二维的图像,同样需要一个先干嘛再干嘛然后干嘛最后干嘛的过程,这个过程或流水线,我们就称之为管线。 实时渲染管线(Real-time Rendering Pipeline) 通过前面几篇的学习,我们知道了要把一个三维场景渲染成一幅二维的图像大致分为以下几个步骤: M.

王王王渣渣的博客 2532

YOLOv12改进策略【卷积层】| 引入注意力卷积模块RFAConv,关注感受野空间特征 助力yolov12精度提升

RFAConv:创新空间注意力和标准卷积运算感受野空间特征是针对卷积核设计的,根据卷积核大小动态生成。以3×3卷积核为例,它由非重叠滑动窗口组成,每个窗口代表一个感受野滑块。

Limiiiing的博客 684

UITableView 实现分页显示的代码

UITableview 能够列表显示许多内容,也是我们开发中经常用的一个组件。我们经常会分页显示列表,如先显示 10 条记录,点击更多在添加 10 条,以此类推,下面是实现类似更多显示的一个 demo。 实现的效果如下: 点击 “More…”,实现后面的效果. 实现的思路: 基本上就是数据源里先只放10条, 点击最后一个cell时, 添加更多的数据到数据源中

计算机学习园 732

【Qt开发教程】网络代理QNetworkProxy类详解及实战应用

QNetworkProxy 提供了一种灵活而强大的方式来配置和管理网络代理,通过设置代理类型、主机、端口和认证信息,可以使应用程序的所有网络请求通过代理服务器进行。结合 QNetworkProxyFactory 可以实现动态代理选择和自动配置,提高应用的网络通信能力和安全性。在实际应用中,通过合理设置代理、处理代理认证和错误情况,可以确保应用程序在复杂的网络环境中稳定运行,为用户提供可靠的网络访问体验。

科技改变人类,技术成就未来 1542

UITableView实现分页的快速显示

UITableview能够列表显示许多内容,也是我们开发中经常用的一个组件。我们经常会分页显示列表,如先显示10条记录,点击更多在添加10条,以此类推,下面是实现类似更多显示的一个demo。 实现的效果如下: 点击更多,实现后面的效果. 实现的思路: 基本上就是数据源里先只放10条, 点击最后一个cell时, 添加更多的数据到数据源中.。 处理"加载更...

jinvasshole 112

从数据读取到业务事件:理解 ABAP CDS 视图的目的与选型(含 RAP、扩展与分析场景)

CDS视图在SAP S/4HANA中不仅是数据查询工具,更是语义模型和运行时能力的载体。它通过分层架构(基础视图、组合视图、消费视图等)实现数据复用与场景适配,支持UI、分析、事务处理等多样化消费。视图类型包括提供数据访问的接口视图(I_前缀)、消费视图(C_前缀)和事务视图,以及不提供数据访问的扩展视图。这种分层设计确保了数据模型的稳定性与扩展性,同时支持自定义字段和上下文感知分析。正确理解CDS视图的用途和分层规则,能帮助开发者构建更健壮、可维护的SAP应用。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 302

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

[转]UITableView 实现分页显示的代码

UITableview 能够列表显示许多内容,也是我们开发中经常用的一个组件。我们经常会分页显示列表,如先显示 10 条记录,点击更多在添加 10 条,以此类推,下面是实现类似更多显示的一个 demo。     实现的效果如下:     点击 “More…”,实现后面的效果.     实现的思路: 基本上就是数据源里先只放10条, 点击最后一个cell时, 添加更多的数据到数据源中.。处理"加载...

weixin_33909059的博客 142

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

UItableView实现分页效果(点击more再显示10条)

UITableview 能够列表显示许多内容,也是我们开发中经常用的一个组件。我们经常会分页显示列表,如先显示 10条记录,点击更多在添加 10 条,以此类推,下面是实现类似更多显示的一个 demo。  关键再在于函数 实现的效果如下:self.myTableViewinsertRowsAtIndexPaths:insertIndexPathswithRowAnimation:UITabl

大萝卜 967

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

iPhone开发教程之UITableView 实现分页显示的代码

iPhone开发教程之UITableView 实现分页显示的代码     UITableview 能够列表显示许多内容,也是我们开发中经常用的一个组件。我们经常会分页显示列表,如先显示 10 条记录,点击更多在添加 10 条,以此类推,下面是实现类似更多显示的一个 demo。     实现的效果如下:     点击 “More…”,实现后面的效果.     实现的思路: 基本上就

305

uitableview分页

iphone开发 UITableview实现分页显示方法(2011-07-07 09:52:06)转载▼标签:it#import <UIKit/UIKit.h>@interface iphone_tableMoreViewController : UIViewController <UITableViewDelegate,UITableViewDataSou...

weixin_33966095的博客 90

UITableView的分页的加载

这里假定的前提是, 你已经将UITableView添加到了View中, 并且在h文件中实现了UITableViewDelegate,UITableViewDataSource 这两个接口, 且已经与你后台定义的tblView建立起了关联, UITableView的datesource和delegete也都已经指向了file's owner. 如果此处不太明白的话, 建议还是复习一下如何使用U...

weixin_33910385的博客 76

UITableView 分页显示、加载更多,数据源远程数据,解析JSON,以及iOS☞Category

UITableView 分页显示、加载更多,数据源远程数据,解析JSON,以及iOS☞Category 在这篇里,我们要学习的目标: 1. 解析远程的JSON数据2. 分页显示数据3. 学习Category的使用 概述     IOS5.0开始支持JSON,所以不用第三方的解析了,主要用于这三个对象:NSDictionary、NSData、NSJSONSer

sanfenqs的博客 1478

UITableView拖动时计算页码 & 往上拖拉时自动加载

在电商平台中,使用UITableView展示商品信息时,会出现需要显示页码的情况,也会出现需要在向上拖动列表到某个范围时,自动发送请求加载更多商品的情况。 Demo示例 实现效果图如下所示: 实现原理 1、页码 (1)已知显示页面的宽和高,取高heightTotal (2)已知UITableViewCell单元格的宽和高,取高heightCell (3)UITableView

番薯大佬的专栏 673
上一篇: EGORefreshTableHeaderView —— UITableView下拉刷新页面的实现
qtcreatorlinux
博客等级 码龄15年 17粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值