ios开发中对UITableView的操作(包括删除,插入,移动位置)
来源:互联网 发布:web进销存php源码 编辑:程序博客网 时间:2024/06/07 11:20
UITableView是iOS开发中用的比较多的一些类,下面介绍一下对UITableView的代码变成操作。
要想对UITableView进行编辑操作,首先应设置UITableView为可编辑状态,示例代码如下:
self.pTableView.editing=!self.pTableView.isEditing ;
或者
[self.pTableViewsetEditing:!self.pTableView.isEditing];
然后是采用UITableViewDelegate协议下的(切记委托Delegate对象是当前UITableView所属于的对象)-(BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
方法进行设置能够被编辑的行,通过indexpath变量进行设置,返回YES是可编辑的,否则是不可编辑的。例如:
if ([indexPathrow]==0) {//设置第0行不可被编辑
returnNO;
}
elsereturnYES;
然后是再进行编辑方式的设置(包括删除,插入,不改变),方法是
-(UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
通过不同indexpath下的UITableViewCellEditingStyle的返回值,来设置编辑方式。如下:if ([indexPathrow]%3==0) {
returnUITableViewCellEditingStyleDelete;
}
elseif([indexPathrow]%3==1)
returnUITableViewCellEditingStyleNone;
elsereturnUITableViewCellEditingStyleInsert;
然后是在方法
-(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath进行在编辑状态下对UITableView的操作:
if (editingStyle==UITableViewCellEditingStyleDelete) {
[self.pArrremoveObjectAtIndex:[indexPathrow]];//删除存储UITableViewCell的textLabel的text内容的数组对应的内容
[self.pTableViewbeginUpdates];//开始更新
[self.pTableViewdeleteRowsAtIndexPaths:[NSArrayarrayWithObject:indexPath]withRowAnimation:UITableViewRowAnimationRight];//进行删除状态下操作,动画是向右移动删除
[self.pTableViewendUpdates];
}
elseif(editingStyle==UITableViewCellEditingStyleInsert)
{
[self.pArrinsertObject:@"newCell"atIndex:[indexPathrow]];
[self.pTableViewbeginUpdates];
[self.pTableViewinsertRowsAtIndexPaths:[NSArrayarrayWithObject:indexPath]withRowAnimation:UITableViewRowAnimationTop];//进行插入状态下的操作,然后是动画是从上向下插入
[self.pTableViewendUpdates];
}
至此结束对UITableView的编辑操作。
最后是进行移动操作,移动操作和编辑操作相似,首先是需要设置可以移动的行,采用的方法是
-(BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath通过不同indexpath情况下的返回值来设置。示例代码如下:
if ([indexPathrow]>10) {
returnNO;
}
elsereturn YES;
-(void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)sourceIndexPath toIndexPath:(NSIndexPath *)destinationIndexPath进行移动操作,示例代码如下:
[self.pArrinsertObject:[self.pArrobjectAtIndex:[sourceIndexPathrow]] atIndex:[destinationIndexPathrow]];
[self.pArrremoveObjectAtIndex:[sourceIndexPathrow]];
//因为移动只改变了行的相对位置,没有改变UITableView行的内容,所以只需要改变当前存储页面中的文本的数组的内容,来改变页面的重绘制形式就可以了。- ios开发中对UITableView的操作(包括删除,插入,移动位置)
- UITableView Cell移动、插入、删除操作
- UITableView的移动、删除操作
- 【iOS开发】 UITableView 理解与应用 (增加 删除 移动)
- ios UITableView的移动、添加和删除
- Android文件管理器开发中对文件的复制,移动,删除,新建文件夹等的操作
- C# 对文件与文件夹的操作包括删除、移动与复制
- UITableView的编辑操作(移动&添加&删除-单选删除,或多选删除)
- iOS UITableView插入删除行
- iOS开发:UITableView编辑——cell的删除和移动
- (三)UITabBar and UINavigationController基础教程之UITableView的插入删除移动
- IOS开发(25)之删除UITableView的Cell
- UITableView项目中行的操作 (添加移动和删除)
- UITableView项目中行的操作 (添加移动和删除)
- java连接数据库(SQL Server 2008)的小实例,包括对数据库表的查看,插入,更新,删除等操作
- IOS UITableView删除增加操作
- iOS开发:UITableView中行的操作
- iOS开发18:UITableView中行的操作
- iOS学习之iOS沙盒(sandbox)机制和文件操作(一)
- 『C/C++』友元函数和友元类
- eclipse maven SLF4J: Failed to load class org.slf4j.impl.StaticLoggerBinder
- xcode创建一个工程的多个taget,便于测试和发布多个版本
- 如何在真机上调试Android应用程序(图文详解)
- ios开发中对UITableView的操作(包括删除,插入,移动位置)
- MySQL如何创建主键?Alter table add PRIMARY KEY的用法和例子
- 学平面设计,广州传智播客资格不算最老口碑却最好
- 解决Tslib移植之后自己编写的QT程序不能使用触屏的问题
- GPS两点的距离
- C++/C 关于指针的基本用法
- gdb技巧
- SQL Server 数据库操作总结(sql语法的使用)
- poj 2115 C Looooops