知识点回顾-tableView展示数据常见设置

  1. 如何让tableView展示数据

    • 设置数据源对象
  2. self.tableView.dataSource = self;
    
    
    • 数据源对象要遵守协议
  3. @interface ViewController () <UITableViewDataSource>
    
    @end
    
    
    • 实现数据源方法
  4. // 多少组数据
    - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView;
    
    // 每一组有多少行数据
    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;
    
    // 每一行显示什么内容
    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;
    
    // 每一组的头部
    - (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section;
    
    // 每一组的尾部
    - (NSString *)tableView:(UITableView *)tableView titleForFooterInSection:(NSInteger)section
    
    

    tableView的常见设置

    // 设置每一行cell的高度
    self.tableView.rowHeight = 100;

    // 设置每一组头部的高度
    self.tableView.sectionHeaderHeight = 50;

    // 设置每一组尾部的高度
    self.tableView.sectionFooterHeight = 50;   ——>设置的每一行都是固定的

    // 设置分割线颜色
    self.tableView.separatorColor = [UIColor redColor];
    // 设置分割线样式
    self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
    // 设置表头控件
    self.tableView.tableHeaderView = [[UISwitch alloc] init];
    // 设置表尾控件
    self.tableView.tableFooterView = [UIButton buttonWithType:UIButtonTypeContactAdd];

    // 设置右边索引文字的颜色
    self.tableView.sectionIndexColor = [UIColor redColor];
    // 设置右边索引文字的背景色
    self.tableView.sectionIndexBackgroundColor = [UIColor blackColor];

  5.  

    tableViewCell的常见设置

    // 设置右边的指示样式
    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;

    // 设置右边的指示控件
    cell.accessoryView = [[UISwitch alloc] init];

    // 设置cell的选中样式
    cell.selectionStyle = UITableViewCellSelectionStyleNone;
    // backgroundView优先级 > backgroundColor

    // 设置背景色
    cell.backgroundColor = [UIColor redColor];

    // 设置背景view   ——(可自定义背景图片)
    UIView *bg = [[UIView alloc] init];
    bg.backgroundColor = [UIColor blueColor];
    cell.backgroundView = bg;

    // 设置选中的背景view
    UIView *selectedBg = [[UIView alloc] init];
    selectedBg.backgroundColor = [UIColor purpleColor];
    cell.selectedBackgroundView = selectedBg;

    代理方法

/**
 *  当选中一行的时候调用(点击)
 */
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
//    XMGWine *wine = self.wineArray[indexPath.row];
//    NSLog(@"点击了:%@", wine.name);
    NSLog(@"选中了:%zd", indexPath.row);
}

/**
 *  当取消选中一行的时候调用
 */
- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSLog(@"取消选中了:%zd", indexPath.row);
}

/**

*  在每一组的头部设置控件

*/

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
    return [UIButton buttonWithType:UIButtonTypeInfoDark];
}

/**

*  在每一组的尾部设置控件

*/

- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section
{
    return [[UISwitch alloc] init];
}

/**

*  可以判断不同组设置不同的高度

*/

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
    if (section == 0) return 20;
    if (section == 1) return 50;

}

/**

*  返回每个cell的高度(设置不同行不同高度)

*/
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (indexPath.row % 2 == 0) {
        return 50;
    } else {
        return 100;
    }

}

时间: 2024-10-13 05:42:04

知识点回顾-tableView展示数据常见设置的相关文章

使用UITableView展示数据

TableView主要用于展示数据,类似于Android中的ListView. 我们可以通过两个方式使用TableView.第一种是直接使用TableView类.第二种是通过UITableViewController类. 第一种方式主要是通过实例化一个UITableView类,然后将类实例添加到主界面,代码如下 这样,一个简单的tableview就创建了,当然这个时候界面中是没有数据的. 运行结果如下: 接下来为TableView添加数据.通过查看UITableView类的头文件可知道,该类有一

iOS开发:一个高仿美团的团购ipad客户端的设计和实现(功能:根据拼音进行检索并展示数据,离线缓存团购数据,浏览记录与收藏记录的批量删除等)

大致花了一个月时间,利用各种空闲时间,将这个客户端实现了,在这里主要是想记录下,设计的大体思路以及实现过程中遇到的坑...... 这个项目的github地址:https://github.com/wzpziyi1/GroupPurchase 主要实现的功能,用UICollectionViewController展示团购数据,根据拼音进行检索并展示数据,离线缓存团购数据,浏览记录与收藏记录的批量删除,友盟分享的集成,利用UIView+AutoLayout写布局,实现地图定位.自定义大头针等 整个项

html知识点回顾

现在学了Vue.react.angular等新的框架了,所以导致以前学的好多知识感觉已经慢慢的从我脑袋里偷偷的溜走了,所以下定决心要写一些博客来帮助自己把曾经属于自己的知识再找回来!好了,开始我的第一篇博客吧(虽然写的内容会比较简单(#^.^#)) 一.HTML 1.w3c制定了结构(xhtml,xml)和表现(css)的标准,是非营利性的. 2.有关标签嵌套,这个涉及到元素类型 a.首先根据css显示结果来分,XHTML元素被分为三种类型,分别是块状元素.内联元素(行内块元素),可变元素. 块

Android群英传知识点回顾——第六章:Android绘图机制与处理技巧

6.1 屏幕的尺寸信息 6.1.1 屏幕参数 6.1.2 系统屏幕密度 6.1.3 独立像素密度dp 6.1.4 单位转换 6.2 2D绘图基础 6.3 Android XML绘图 6.3.1 Bitmap 6.3.2 Shape 6.3.3 Layer 6.3.4 Selector 6.4 Android绘图技巧 6.4.1 Canvas 6.4.2 Layer图层 6.5 Android图像处理之色彩特效处理 6.5.1 色彩矩阵分析 6.5.2 Android颜色矩阵--ColorMatr

面向对象知识点回顾整理

目录 面向对象知识点回顾整理 一.面向对象基础 1.类和对象 2.属性查找: 3.绑定方法: 4.对象之间的交互: 5.类的内置属性 6.三大特性:继承.多态.封装 二.面向对象高阶 元类 单例模式 面向对象知识点回顾整理 一.面向对象基础 面向对象编程的核心是对象二字,对象是属性与方法的结合体,python中一切皆对象. 优点:可扩展性强 缺点:编程的复杂度高 1.类和对象 对象:属性和方法的结合体 类:一堆属性和方法的结合体 python中是先有类再有对象,现实生活中是先有对象再有类 类名(

面向对象【day07】:多态-面向对象使用场景--知识点回顾

本节内容 多态 面向对象使用场景 知识点回顾 一.多态 一.概述 多态性(polymorphisn)是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作.简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针. 那么,多态的作用是什么呢?我们知道,封装可以隐藏实现细节,使得代码模块化:继承可以扩展已存在的代码模块(类):它们的目的都是为了--代码重用.而多态则是为了实现另一个目的--接口重用!多态的作用,就是为了

Linechart + Datagrid 互动展示数据 (Linechart自定义数据点选择线)

如上图示,在linechart中添加红色Y线,拖动该线的过程中,经过数据点时,会实时更新datagrid中对应的X.Y值数据. 实现要点: 1.linechart添加Y线 继承mx.charts.chartClasses.ChartElement,自定义Y线. package { import flash.display.Graphics; import flash.geom.Point; import flash.text.TextField; import mx.charts.chartCl

面试前的准备---C#知识点回顾----03

经过一天的奔波,喜忧参半,不细表 再回看下标题,C#知识点回顾 再看下内容,数据库3NF 原谅我这个标题党 今天继续回忆 1.HTTP中Post和Get区别 这忒简单了吧,大家是不是感觉到兴奋了,长舒一口气了,终于出现了一个可以聊上10分钟的问题了. 根据HTTP规范,Get用于信息获取,而且应该是安全的和幂等的. 参数在URL后,以?分割,以&相连. 根据HTTP规范,Post表示可能修改服务器的资源请求.数据存在HTTP包中 以上最基本的得知道吧,重点可以聊的出现了,安全性. 详细请拜读:h

react展示数据

react做得最好的事,就是配合UI展示数据,通过调用接口,如果返回的数据发生改变,页面展示的数据会自动地发生改变. react可以使用jsx语法,允许在js代码中直接写html标签,并且在节点上直接绑定数据,在父级和子级之间的同信时,使用props进行通信.props是properties的简写. 为什么react使用jsx更好,请查看http://reactjs.cn/react/docs/jsx-in-depth.html react的组件其实很简单,可以简单的理解它就是一个函数,通过pr