UItableView的编辑和移动

ios ui

#import "ViewController.h"


// 遵守协议

@interface ViewController >

{

    UITableViewCellEditingStyle _editStyle;

}

// 声明属性

@property , strong) UITableView *tableView;

@property , strong) NSMutableArray *dataArray;


@end


@implementation ViewController


- (void)viewDidLoad {

    [super viewDidLoad];

    

    // 声明存放数据的数组

    NSMutableArray *array1 = [[NSMutableArray ] , @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", ];

    NSMutableArray *array2 = [[NSMutableArray ] : @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", @", ];

    

    .dataArray = [[NSMutableArray alloc] initWithObjects:array1,array2, ];

    

    .tableView = [[UITableView alloc] initWithFrame.frame style];

    // 设置代理人

    .delegate = ;

    .dataSource = ;

    //

    [.view addSubview];

    

    .leftBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemTrash targetself action(leftClick:)];

    .rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd targetself action(rightClick:)];


}


#pragma mark-=======UItableView的移动()


//第一步: 是否能够移动

-(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath{

    return YES;

}


// 第二步:返回目的地

// 在这里可以限制跨区域移动

-(NSIndexPath *)tableView:(UITableView *)tableView targetIndexPathForMoveFromRowAtIndexPath:(NSIndexPath *)sourceIndexPath toProposedIndexPath:(NSIndexPath *)proposedDestinationIndexPath{

    // 如果是在一个分组就让移动到目的地

    if (proposedDestinationIndexPath.section == sourceIndexPath.section) {

        return proposedDestinationIndexPath;

    }else {

        // 如果不是则返回原来的分组

        return sourceIndexPath;

    }

}


// 第三步:处理移动结束后的代理方法

// 写了这个方法右边才会出现在三道杠

// 在这个方法里边处理数据的移动

-(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)sourceIndexPath toIndexPath:(NSIndexPath *)destinationIndexPath{

    

    // 取出

    NSString *str = row];

    // 删除当前的cell

    [section] row];

    // 移动到指定位置

    [section] insertObject:str row];


}



//

//- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView{

//    return @[@"

//}


- (UITableView *)tableView heightForHeaderInSection:(NSInteger)section{

    return 40;

}


-(UITableView *)tableView{

    return ;

}


#pragma mark - ================UItableView的编辑


// 左边按钮的点击事件和样式

- (UIBarButtonItem *)bar{

    _editStyle = UITableViewCellEditingStyleDelete;

    [.tableView setEditing.isEditing animated];

}

// 右边按钮的点击事件和样式

- (UIBarButtonItem *)bar{

    _editStyle = UITableViewCellEditingStyleInsert;

    [.tableView setEditing.isEditing animated];

}


// 设置哪一个cell能够进入编辑样式(默认为都可以编辑)

-(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath{

    return YES;

}


// 返回tableView的编辑样式(是删除还是添加。默认为删除)

- (UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath{

    return _editStyle;

}


- (UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath{

    if (editingStyle == UITableViewCellEditingStyleDelete) {

        // 最重要的一点:先对数据进行操作,然后对UI进行操作

        [] removeObjectAtIndex];

        

        [.tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation];

    }else {

        [section] row + 1];

        NSIndexPath *index = [NSIndexPath indexPathForRow:indexPath.row + 1 inSection];

        [.tableView insertRowsAtIndexPaths:@[index] withRowAnimation];

    }

}


// 返回有多少个cell(一般返回的是一个数组)

- (UITableView *)tableView numberOfRowsInSection:(NSInteger)section{

    return [dataArray[section] count];

}


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{

    

    // 初始化一个字符串作为重用池,并把字符串放在静态区防止每次调用的时候重复初始化

    static NSString *str = ;

    // 初始化一个cell并从重用池中取出

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:str];

    if (!cell) {

        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:str];

    }

    cell.text = row];

    return cell;

}


 

@end


相关推荐

  • STORM Mobile多功能高/标清视音频移动编辑解决方案 STORMMobile多功能高/标清视音频编辑解决方案STORMMobile增强了EDIUS6非线性编辑系统的实时现场编辑能力。通过选择配备PCI-E1X卡或ExpressCard/34卡可以分别与台式或笔记本连接。其提供了包括:HDMI输
  • UITableView的基本操作(编辑,删除,增加,移动) 表格是App中最常用的功能之一,表格的自定义展示,大小,分区分组,段头段尾,点击方法;编辑模式下的移动,删除,添加等都是要牢牢掌握的功能。#import"AppDelegate.h"#import"ViewController.h"@int
  • UIElven(UITableView编辑) //UITableView编辑步骤如下//让TableView处于编辑状态-(void)setEditing:(BOOL)editinganimated:(BOOL)animated//协议设定//1、确定cell是否处于编辑状态-(BOO
  • Day11:UITableView(单分组, 多分组, 左滑删除, 插入和移动) UITableView(表格视图)UITableView是用一种表格的形式来显示一组或者多组数据UITableView继承于UIScrollView,UITableView默认值水平方向不能滚动,在垂直方向可以滚动一、单分组的UITable
  • 安卓中庭-Muvee将推出Android移动电话3D视频编辑软件 个人视频方面的先驱和全球领先者MuveeTechnologies推出了应用于Android平台的首个3D视频编辑器。Muvee曾为移动电话平台开发过不少视频编辑工具,随后他们将目标转向了三维影视编辑。开发团队通过与设备制造商和芯片厂家合作,
  • cygwin的vim编辑模式如何移动光标和删除字符 cygwin的vim在编辑模式下输入的所有字符都会显示出来,包括上下左右箭头键,这会给移动光标位置造成困扰。如果想避免可编辑~/.vimrc加上一行setnocompatible同样为了让退格键(backspace)删除字符,需加上一行se
  • 网络部网站编辑培训资料 网络部网站编辑培训资料一、网站编辑工作的意义和目的1.1编辑是做什么的?网站编辑是网站运营中的一个重要环节。网站编辑的任务是收集和整理网站相关资料,上传电子版的文章及资料。并能以统筹的眼光分析网站,对网站进行全面的优化。提高网站在搜索引擎上
  • 合格的网站编辑需要具备哪些技能?(图文)   由于网站编辑的进入门槛很低,因为入职要求是只要会打字就能当编辑,但是也相应的会变成“苦力”型网站编辑,因为门槛低,网站编辑会成为几乎所有专业毕业生都能胜任的职位,也因为门槛低,其薪资自然不敢恭维。那么,什么样的网站编辑才算是合格的网站编
  • Luminar mac - 照片编辑器 LuminarMac版是一款macOS平台的专业的图像编辑处理工具,LuminarMac版支持Raw文件的编辑处理、照片滤镜处理、层编辑等等专业的图像编辑处理功能。Luminar允许您删除不需要的对象,色偏和数字噪音。它可以帮助你润饰皮肤,
  • 安卓杂谈 Muvee将推出Android移动电话3D视频编辑软件 开发团队通过与设备制造商和芯片厂家合作,终极研发了能带来更强大用户体验的高度优化的算法和视频解码器。拥有自主专利的CODEN(CompressedDomainEditingEngine压缩域编辑引擎),这项技术能够突破解压视频文件后才能编辑
  • UI课程之UITableView的编辑,数据处理,UITableViewController 创建tableView并且签订协议重写初始化方法-(instancetype)initWithNibName:(NSString*)nibNameOrNilbundle:(NSBundle*)nibBundleOrNil{self=[sup
  • 微信更新了!可编辑图片 直接将微信收藏的表情贴在照片上 沉默了很多很多,终于,微信更新了!昨天,微信发布iOS版6.5.2版本,虽然只是一个小版本的升级,但是内容量却着实不少,比如说,更新了图片编辑功能。6.5.2版本更新日志中列出了3点主要更新的功能:选择照片时可以进行简单的编辑;在Apple

热门评论

你的评论

就没有什么想说的吗?

最新博客

关于我们 加入传客 媒体报道 帮助中心 传客活动 免责声明 联系我们 移动版 移动应用

©2017传客网    琼ICP备15003173号-2    

本站部分文章来源于互联网,版权归属于原作者。
本站所有转载文章言论不代表本站观点,如是侵犯了原作者的权利请发邮件联系站长(weishubao@126.com),我们收到后立即删除。
站内所有资源仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您自己承担!

X