转自:http://blog.csdn.net/reylen/article/details/8505960

  1. self.dataArray = [[[NSMutableArray alloc]init] autorelease];
  2. NSArray *array = [NSArray arrayWithObjects:[NSArray arrayWithObjects:@"Beijing",@"$500", nil],[NSArray arrayWithObjects:@"ShangHai",@"$510", nil],[NSArray arrayWithObjects:@"Guangzhou",@"$540", nil],[NSArray arrayWithObjects:@"Wuhan",@"$513", nil], nil];
  3. [dataArray addObjectsFromArray:array];
  4. int height = [UIScreen mainScreen].applicationFrame.size.height;
  5. self.tableView = [[UITableView alloc]initWithFrame:CGRectMake(0, 0, 320, height - 40) style:UITableViewStylePlain];
  6. self.tableView.dataSource = self;
  7. self.tableView.delegate = self;
  8. [self.view addSubview:self.tableView];

点击 home button,进入编辑

                         

纵向滑动tableCell 出现编辑按钮

  1. #pragma mark - UITableViewDataSource/Delegate
  2. //返回table 行数
  3. - (NSInteger) tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
  4. return dataArray.count;
  5. }
  6. - (UITableViewCell*) tableView:(UITableView *)_tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
  7. static NSString *identifier = @"cell";
  8. UITableViewCell *cell = [_tableView dequeueReusableCellWithIdentifier:identifier];
  9. if (cell == nil) {
  10. cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:identifier];
  11. }
  12. NSArray *data = [dataArray objectAtIndex:indexPath.row];
  13. cell.textLabel.text = [data objectAtIndex:0];
  14. cell.detailTextLabel.text = [data objectAtIndex:1];
  15. cell.detailTextLabel.textColor = [UIColor redColor];
  16. return cell;
  17. }
  18. //- (NSString*) tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
  19. //    NSString *headerString = @"Address                                   Price";
  20. //    return headerString;
  21. //}
  22. - (NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath {
  23. return @"删除";
  24. }
  25. //纵向滑动时响应,出现编辑按钮
  26. - (void)tableView:(UITableView *)tableView willBeginEditingRowAtIndexPath:(NSIndexPath *)indexPath{
  27. NSLog(@"Start editing!");
  28. }
  29. -(BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
  30. {        //纵向滑动时出现编辑按钮
  31. return YES;
  32. }
  33. //让行可以移动
  34. -(BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath
  35. {
  36. return YES;
  37. }
  38. - (void)tableView:(UITableView *)_tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {      //编辑完响应事件
  39. UITableViewCell *cell = [_tableView cellForRowAtIndexPath:indexPath];
  40. NSLog(@"title:%@",cell.textLabel.text);
  41. NSLog(@"price:%@",cell.detailTextLabel.text);
  42. [dataArray removeObjectAtIndex:indexPath.row];
  43. [tableView reloadData];
  44. }
  45. //设置table headerView
  46. - (UIView*) tableView:(UITableView *)_tableView viewForHeaderInSection:(NSInteger)section {
  47. UIView *headerView = [[[UIView alloc]initWithFrame:CGRectMake(0, 0, _tableView.frame.size.width, 20)] autorelease];
  48. UILabel *leftLabel = [[UILabel alloc]initWithFrame:CGRectMake(10, 0, 100, 20)];
  49. leftLabel.textColor = [UIColor orangeColor];
  50. UILabel *rightLabel = [[UILabel alloc]initWithFrame:CGRectMake(_tableView.frame.size.width - 100, 0, 90, 20)];
  51. rightLabel.textColor = [UIColor orangeColor];
  52. leftLabel.text = @"Address";
  53. rightLabel.text = @"Price";
  54. rightLabel.textAlignment = NSTextAlignmentRight;
  55. leftLabel.backgroundColor = [UIColor clearColor];
  56. rightLabel.backgroundColor = [UIColor clearColor];
  57. UIImageView *backImage = [[UIImageView alloc]initWithFrame:headerView.frame];
  58. backImage.image = [UIImage imageNamed:@"back.png"];
  59. [headerView addSubview:backImage];
  60. [headerView addSubview:leftLabel];
  61. [headerView addSubview:rightLabel];
  62. [leftLabel release];
  63. [rightLabel release];
  64. [backImage release];
  65. return headerView;
  66. }
 
 

UITableView 实例详解 滑动编辑 headerView的更多相关文章

  1. Cocos2d-x 3.X手游开发实例详解

    Cocos2d-x 3.X手游开发实例详解(最新最简Cocos2d-x手机游戏开发学习方法,以热门游戏2048.卡牌为例,完整再现手游的开发过程,实例丰富,代码完备,Cocos2d-x作者之一林顺和泰 ...

  2. (转载)UITableView使用详解

    在开发iphone的应用时基本上都要用到UITableView,这里讲解一下UITableView的使用方法及代理的调用情况 UITableView使用详解 - (void)viewDidLoad { ...

  3. Linux计划任务Crontab实例详解教程

    说明:Crontab是Linux系统中在固定时间执行某一个程序的工具,类似于Windows系统中的任务计划程序 下面通过详细实例来说明在Linux系统中如何使用Crontab 操作系统:CentOS ...

  4. C#实现DevExpress本地化实例详解

    using System; using System.Collections.Generic; using System.Text; using DevExpress.XtraGrid.Localiz ...

  5. 官网实例详解-目录和实例简介-keras学习笔记四

    官网实例详解-目录和实例简介-keras学习笔记四 2018-06-11 10:36:18 wyx100 阅读数 4193更多 分类专栏: 人工智能 python 深度学习 keras   版权声明: ...

  6. linux基础-磁盘阵列(RAID)实例详解

    磁盘阵列(RAID)实例详解 raid技术分类 软raid技术 硬raid技术 Raid和lvm的区别 为什么选择用raid RAID详解 RAID-0 RAID-1 RAID-5 Raid-10 R ...

  7. JavaScript学习笔记-实例详解-类(二)

    实例详解-类(二)   //===给Object.prototype添加只读\不可枚举\不可配置的属性objectId(function(){ Object.defineProperty(Object ...

  8. JavaScript学习笔记-实例详解-类(一)

    实例详解-类(一): //每个javascript函数(除了bind())都自动拥有一个prototype对象// 在未添加属性或重写prototype对象之前,它只包含唯一一个不可枚举属性const ...

  9. Entity Framework实例详解

    Entity Framework Code First的默认行为是使用一系列约定将POCO类映射到表.然而,有时候,不能也不想遵循这些约定,那就需要重写它们.重写默认约定有两种方式:Data Anno ...

随机推荐

  1. JDK安装脚本

    JDK@Python脚本代码如下(JDK1.8.0_31) # -*- coding: utf-8 -*- # !/usr/bin/env python # @Time : 2018/1/2 18:0 ...

  2. hexo搭建简易的博客网站

    0.环境检测 1.系统升级(图形更新) #update-manager 检测状态 2.检测升级(命令更新) #sudo apt update #sudo apt -y dist-upgrade 一.安 ...

  3. 连接xshell 时 连不上的问题

      最近这一周由于自己的xshell突然连接不到虚拟机,在网上找了很多种方法也没能解决,以至于自己在学习很多知识的时候都没能很好的去验证,去尝试.最后在求助大佬的时候终于将xshell重新连接到了虚拟 ...

  4. RHEL7-Vsftpd匿名用户

    实现:匿名用户创建目录,可以上传.下载文件,但是不可删除文件,禁止本地用户登陆. Vsftpd.conf部分参数 第一步:虚拟机挂载镜像 略 第二步:执行挂载命令 略 第三步:编写yum仓库文件 略 ...

  5. 如何给HTML标签中的文本设置修饰线

    text-decoration属性介绍 text-decoration属性是用来设置文本修饰线呢,text-decoration属性一共有4个值. text-decoration属性值说明表 值 作用 ...

  6. Ios第三方FMDB使用说明

    SQLite (http://www.sqlite.org/docs.html) 是一个轻量级的关系数据库.iOS SDK很早就支持了SQLite,在使用时,只需要加入 libsqlite3.dyli ...

  7. Laravel框架安装RabbitMQ消息中间件步骤

    Laravel5.6 整合 RabbitMQ 消息队列 简介: Laravel 队列为不同的后台队列服务提供了统一的 API,例如 Beanstalk,Amazon SQS,Redis,甚至其他基于关 ...

  8. LF模式解决的问题

    一说起Leader/Followers并发模式,都会与Half-Async/Half-Sync并发模式进行比较,说LF模式更加高性能,成了一个高性能名词标签 符号,相反HA/HS仿佛成了一个低性能的名 ...

  9. ZeroC ICE的远程调用框架 ServantLocator与Locator

    ServantLocator定位的目标是Servant,而Locator定位的目标是“Ice Object”,即一个可定位的“Ice Object”代理.Servant是::Ice::Object的继 ...

  10. 1 数据 & 图表

    瞎逼逼:虽然是统计专业,但学艺不精.大学受过的专业训练很少,妥妥学渣.因此工作后决定重新复习,阅读材料为贾俊平的<统计学>第7版.每周更新. 我不按照书里的逻辑顺序和所有知识点来写我的笔记 ...