UItableView 如何实现Cell之间交换位置
2017-09-21 14:13
465 查看
首先
[self.tableView setEditing:YES animated:YES];
打开UItableView 的编辑模式
然后 实现两个代理方法:
-(BOOL)tableView:(UITableView *) tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
{
//打开编辑
return YES;
}
- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath
{
//允许移动
return YES;
//return NO;
}
最后实现代理方法
[cpp] view
plain copy
-(void) tableView: (UITableView *) tableView moveRowAtIndexPath: (NSIndexPath *) oldPath toIndexPath:(NSIndexPath *) newPath
{
// NSString *title = [[self.categoryList objectAtIndex:oldPath.row] retain];
BookCategory * caterory = [[self.categoryList objectAtIndex:oldPath.row] retain];
NSLog(@"title is %@",caterory);
[self.categoryList removeObjectAtIndex:oldPath.row];
[self.categoryList insertObject:caterory atIndex:newPath.row];
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
for(int i=0;i<[self.categoryList count];i++){
BookCategory *bc = [self.categoryList objectAtIndex:i];
NSString *key = bc.categoryId;
NSInteger index = [self.categoryList indexOfObject:bc];
NSNumber *value = [NSNumber numberWithInt:index];
[ud setObject:value forKey:key];
}
[caterory release];
[self.tableView reloadData];
}
[self.tableView setEditing:YES animated:YES];
打开UItableView 的编辑模式
然后 实现两个代理方法:
-(BOOL)tableView:(UITableView *) tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
{
//打开编辑
return YES;
}
- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath
{
//允许移动
return YES;
//return NO;
}
最后实现代理方法
[cpp] view
plain copy
-(void) tableView: (UITableView *) tableView moveRowAtIndexPath: (NSIndexPath *) oldPath toIndexPath:(NSIndexPath *) newPath
{
// NSString *title = [[self.categoryList objectAtIndex:oldPath.row] retain];
BookCategory * caterory = [[self.categoryList objectAtIndex:oldPath.row] retain];
NSLog(@"title is %@",caterory);
[self.categoryList removeObjectAtIndex:oldPath.row];
[self.categoryList insertObject:caterory atIndex:newPath.row];
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
for(int i=0;i<[self.categoryList count];i++){
BookCategory *bc = [self.categoryList objectAtIndex:i];
NSString *key = bc.categoryId;
NSInteger index = [self.categoryList indexOfObject:bc];
NSNumber *value = [NSNumber numberWithInt:index];
[ud setObject:value forKey:key];
}
[caterory release];
[self.tableView reloadData];
}
相关文章推荐
- UItableView 如何实现Cell之间交换位置
- UITableView中Cell的位置交换
- dataGridView 如何实现行行的拖动,即行之间相互交换位置
- UITableView如何实现加载更多
- 使用Autolayout实现UITableView的Cell动态布局和高度动态改变
- UITableView cell自定义视图中实现复杂界面
- 如何去掉grouped样式UITableView中cell的边框和背景
- UITableView 的Cell之间的间隔
- 使用Autolayout实现UITableView的Cell动态布局和高度动态改变
- 使用Autolayout实现UITableView的Cell动态布局和高度动态改变
- iOS开发中设置UITableView每组头试图与第一行cell之间的分割线
- 使用Autolayout实现UITableView的Cell动态布局和高度的动态改变
- TableView如何刷新指定的cell 或section和滚动到制定位置
- iOS UITableView中关于cell里的按钮被点击时如何确定是哪一个section
- iOS如何利用UITableView实现单选效果
- 如何实现两个ViewController视图之间的透明效果
- RecycleView实现拖拽交换item位置
- iOS关于在UITableView中,实现多个cell中不同的倒计时实现
- 自定义UITableView,实现cell的三级分组展开收起
- iOS开发中实现UITableView的Cell左划删除等自定义功能