码迷,mamicode.com
首页 > 其他好文 > 详细

表格的修改

时间:2014-12-18 16:56:31      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:表格的修改

表格的修改

一、懒加载UITableView
- (UITableView *)tableView
{
   
if (_tableView == nil) {
       
_tableView = [[UITableView alloc] initWithFrame:self.view.bounds style:UITableViewStylePlain];
       
       
_tableView.dataSource = self;
       
_tableView.delegate = self;
       
        [
self.view addSubview:_tableView];
    }
   
return _tableView;
}
注意:
手动实现dataSource和delegate的代理方法

二、在viewDidLoad方法里面
// 开始编辑,一旦editing == YES就默认开启删除模式
 self.tableView.editing = YES;

// 只要实现了此方法,就能够支持手势拖拽删除了,删除需要自己干!
/**
 UITableViewCellEditingStyleNone,
 UITableViewCellEditingStyleDelete,    
删除
 UITableViewCellEditingStyleInsert     
添加
 */

三、实现代理的其他方法
- (
void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
   
if (editingStyle == UITableViewCellEditingStyleDelete) {
       
// 1. 删除self.dataListindexPath对应的数据
        [
self.dataList removeObjectAtIndex:indexPath.row];

       
// 2. 刷新表格(重新加载数据)
       
// deleteRowsAtIndexPaths让表格控件动画删除指定的行
        [
self.tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationMiddle];
    }
else if (editingStyle == UITableViewCellEditingStyleInsert) {
       
// 1. 向数组添加数据
        [
self.dataList insertObject:@"王小二" atIndex:indexPath.row + 1];
       
// 2. 刷新表格
       
// insertRowsAtIndexPaths让表格控件动画在指定indexPath添加指定行
       
// 新建一个indexPath
       
NSIndexPath *path = [NSIndexPath indexPathForRow:indexPath.row + 1 inSection:indexPath.section];
        [
self.tableView insertRowsAtIndexPaths:@[path] withRowAnimation:UITableViewRowAnimationMiddle];
    }
}

// 只要实现此方法,就可以显示拖动控件
- (
void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)sourceIndexPath toIndexPath:(NSIndexPath *)destinationIndexPath
{
     // 交换索引,将数据源索引和目标索引交换
//    [self.dataList exchangeObjectAtIndex:sourceIndexPath.row withObjectAtIndex:destinationIndexPath.row];

   
// 1. 将源从数组中取出
   
id source = self.dataList[sourceIndexPath.row];
   
// 2. 将源从数组中删除
    [
self.dataList removeObjectAtIndex:sourceIndexPath.row];
   
NSLog(@"%@", self.dataList);
   
   
// 3. 将源插入到数组中的目标位置
    [
self.dataList insertObject:source atIndex:destinationIndexPath.row];
   
   
NSLog(@"%@", self.dataList);
}

#pragma mark - 代理方法
// 返回编辑样式,如果没有实现此方法,默认都是删除
- (
UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
{

   
return UITableViewCellEditingStyleInsert;
}

表格的修改

标签:表格的修改

原文地址:http://blog.csdn.net/itcontend/article/details/42007191

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!