`
lizaochengwen
  • 浏览: 662453 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

UITableView使用指南1(呕心原创)

阅读更多
一、概述
UITableView是iOS开发比不可少也是最重要的一个控件类。可以说任何一个做iOS开发的人都必须熟练使用和掌握它。本文主要就是提供一个学习使用TableView的指南。
要说UITableView必须要介绍他的几个亲戚:UITableViewDelegate,UITableViewDataSource,UITableViewCell。其中前两个是TableView遵守的两个protocol(别告诉我你不知道啥叫protocol哦)。然后本文会再列出TableView最常用最重要的一些知识点。最后再介绍几个参考例子。


二、UITableView和它的亲戚们

1. UITableView
参考:
https://developer.apple.com/library/ios/#documentation/UIKit/Reference/UITableView_Class/Reference/Reference.html


1) 初始化 UITableView对象
– initWithFrame:style:  // 代码生成方式,如果你在nib里加的tableview不需要使用这个方法
2)配置TableView
– dequeueReusableCellWithIdentifier: // 必须要实现的方法,与TableView同生同死
  style  property // 有两种 UITableViewStylePlain, UITableViewStyleGrouped,经常用
– numberOfRowsInSection:  //一个section有多少行,经常用
– numberOfSections  //一个TableView有多少个section,经常用
  rowHeight  property // 行高,和tableView:heightForRowAtIndexPath:有性能上的区别
  separatorStyle  property // cell之间的分割线?待确认
  separatorColor  property // 同上
  backgroundView  property // tableview的背景view, 这个背景view在所有cell, header views, footer views之后
  tableHeaderView  property // tableview上方的一个headerView, 和delete里的section header不是一个概念
  tableFooterView  property // tableview下方的一个footerview
  sectionHeaderHeight  property // section Header的高度,
  sectionFooterHeight  property // sectjion Footer的高度
  sectionIndexMinimumDisplayRowCount  property //  功能待确认? 参考例子:  TheElements
3) 访问Cells和Sections
– cellForRowAtIndexPath: //根据IndexPath返回cell
– indexPathForCell: //根据cell返回它的indexPath,和上面的方法互补
– indexPathForRowAtPoint://根据一个几何点返回indexPath,如果超过边界返回nil
– indexPathsForRowsInRect: //根据一个几何的矩形返回矩形所覆盖的行,返回是一个indexPath数组
– visibleCells // 不清楚怎么用,待确认
– indexPathsForVisibleRows //同上
4) 滚动TableView
– scrollToRowAtIndexPath:atScrollPosition:animated: // 滚动到指定位置
– scrollToNearestSelectedRowAtScrollPosition:animated: // 同上
5) 管理sections
– indexPathForSelectedRow //返回选定行的indexPath,单行
– indexPathsForSelectedRows //返回选定行的indexPath数组,多行
– selectRowAtIndexPath:animated:scrollPosition: //根据indexPath选择一行
– deselectRowAtIndexPath:animated: //反选一行,有何用?
  allowsSelection  property //是否允许用户选取一行
  allowsMultipleSelection  property // 是否选取多行,缺省为NO. 可以试试YES后的效果,哈哈
  allowsSelectionDuringEditing  property // 编辑模式时是否可选取一行
  allowsMultipleSelectionDuringEditing  property // 编辑模式时可否选取多行
6) 插入、删除、移动行和sections
– beginUpdates // 和endUpdates一起用,让插入、删除、选择操作同时动画,没用过
– endUpdates //
– insertRowsAtIndexPaths:withRowAnimation: //根据indexPath数组插入行
– deleteRowsAtIndexPaths:withRowAnimation: //根据indexPath数组删除行
– moveRowAtIndexPath:toIndexPath: //移动一行到另一行
– insertSections:withRowAnimation: //插入sections
– deleteSections:withRowAnimation: //删除sections
– moveSection:toSection: //移动section
7) 管理和编辑cell
  editing  property // YES进入编辑模式,tableview cell会出现插入、删除、重排序的控件
– setEditing:animated: //设置进入退出编辑模式
8) 重新加载TableView
– reloadData // 重建整个表,包括cells、header、footer,indexs
– reloadRowsAtIndexPaths:withRowAnimation: // 改进,不用reload整个表
– reloadSections:withRowAnimation: // 同上
– reloadSectionIndexTitles // 同上
9) 访问TableView的画图区
– rectForSection: // 返回指定section的矩形
– rectForRowAtIndexPath: //返回indexPath指定行的矩形
– rectForFooterInSection: // 返回section的footer矩形
– rectForHeaderInSection: // 返回section的header矩形
10) Registering Nib Objects for Cell Reuse
– registerNib:forCellReuseIdentifier: //
11) 管理委托和数据源 (重要)
  dataSource  property // 通常会这么用: myTableView.delegate = self; self 为viewController
  delegate  property // 通常会这么用:     myTableView.dataSource = self; self 为viewController
原文地址:http://blog.csdn.net/y041039/article/details/7351982
分享到:
评论

相关推荐

    iPhone UITableView的使用方法实例

    UITableView是iPhone中比较常用的,用的比较多的控件, 本例中说明iPhone UITableView的使用方法实例。 该实列中是手动增加UITableViewDataSource和UITableViewDelegate协议来实现的。

    UITableView的使用

    对于分组的UITableView,你需要在DataSource中实现`numberOfSectionsInTableView:` 返回大于1的值。同时,你需要为每个section指定头视图(`tableView:viewForHeaderInSection:`)和/或尾视图(`tableView:...

    ios-UITableView的使用.zip

    这个"ios-UITableView的使用.zip"文件很可能是包含一个示例项目,演示了如何在Swift或Objective-C中自定义UITableView的Cell。下面将详细解释UITableView的核心概念以及自定义TableViewCell的步骤。 首先,...

    Iphone-UITableView使用

    1. **创建UITableView** 在故事板(Storyboard)中,你可以直接拖拽`UITableView`到`UIViewController`上,并设置其属性。或者,你也可以在代码中创建`UITableView`,并添加到视图层次结构中。记得设置其数据源和...

    UITableView使用自定义cell的例子

    本教程将通过一个具体的例子,演示如何在UITableView中使用自定义的UITableViewCell。我们采用的是Model-View-Controller(MVC)架构,这是一种常见的软件设计模式,可以有效分离业务逻辑、数据与用户界面。 首先,...

    UISCrollView与UITableView嵌套使用

    ### UISCrollView与UITableView嵌套使用 #### 知识点概述 在iOS应用开发过程中,经常需要将`UIScrollView`与`UITableView`进行嵌套使用,以实现更加丰富的界面交互和展示效果。例如,在一个水平滑动的界面中,每个...

    UITableView的简单使用

    1. **设置UITableView** 在故事板中添加UITableView或者在代码中创建。对于代码创建,可以使用如下的方式: ```swift let tableView = UITableView(frame: CGRect(x: 0, y: 0, width: view.frame.width, height: ...

    UITableView、UITableView基本用法、UITableView详解

    1. 使用缓存机制:UITableView 提供了缓存机制,可以将经常使用的单元格缓存起来,以提高性能。 2. 使用异步加载数据:在加载数据时,可以使用异步加载数据,以提高性能。 3. 优化单元格的高度:可以通过设置单元格...

    UITableView 快捷菜单的使用Demo

    本教程将深入讲解如何在UITableView中实现快捷菜单的使用,特别是涉及到Cell的粘贴功能。这将帮助开发者提高用户界面的交互性和功能多样性。 首先,让我们理解UITableView的基本工作原理。UITableView是由多个...

    UITableView

    在Swift中,UITableView的使用涉及到多个知识点,包括数据源协议、委托协议、Cell的重用机制、自定义Cell以及手势识别等。下面将详细阐述这些关键概念。 1. 数据源协议(UITableViewDataSource): 数据源协议是...

    iOS使用UITableView实现的富文本编辑器

    iOS使用UITableView实现的富文本编辑器iOS使用UITableView实现的富文本编辑器iOS使用UITableView实现的富文本编辑器iOS使用UITableView实现的富文本编辑器iOS使用UITableView实现的富文本编辑器iOS使用UITableView...

    Swift UITableView and protocol 学习使用

    这个教程将深入探讨如何使用Swift与UITableView以及协议进行交互,以创建功能丰富的用户界面。我们将关注以下关键知识点: 1. **Swift基础知识**:Swift是苹果推出的一种现代化编程语言,具有类型安全、内存管理...

    iPhone之UITableView入门

    本教程将带你入门iPhone上的UITableView使用,通过一个简单的示例项目"**MyTableView**"来深入理解其工作原理和基本操作。 首先,UITableView的主要组成部分包括:表头(HeaderInSection)、表尾(FooterSection)...

    UITableView方法使用

    UITableView的使用,UITableView所在的UIViewController声明两个delegate:UITableViewDelegate和UITableViewDataSource。

    uitableview使用

    这个教程将深入讲解`UITableView`的基本方法、代理方法、编辑和移动等功能的使用。 首先,我们来了解`UITableView`的基本结构。一个`UITableView`由多个单元格(UITableViewCell)组成,每个单元格可以包含不同的...

    IOS代码中使用自定义UITableView

    在iOS应用开发中,UITableView是一种常用的UI组件,用于展示列表数据。它允许用户滚动查看多个行项目,并且可以根据需要进行高度自定义。本篇文章将深入探讨如何在代码中实现自定义UITableView,以及在开发过程中应...

    UITableview处理键盘遮挡

    1. 使用`UIKeyboardNotifications`:通过监听`UIKeyboardWillShowNotification`和`UIKeyboardWillHideNotification`通知,我们可以知道键盘何时显示和隐藏。在键盘显示时,可以调整`UITableView`的frame或者...

    UITableView教材

    3. **重写`cellForRowAtIndexPath`方法**:使用自定义类来创建和配置单元格。 #### 三、Table的数据编辑 数据编辑包括移动、删除、修改和增加数据项。 **示例代码**: 1. **移动**:通过调整数组中的数据顺序来...

    《使用UITableView实现树视图》一文源代码

    1. 数据模型设计: - 为树形数据定义一个自定义的模型类,例如`TreeItem`,包含标题、子节点数组等属性。 - 使用递归的数据结构,每个`TreeItem`可以包含一个或多个子`TreeItem`,形成树状结构。 2. 自定义...

    iphone应用开发:UITableView的详细讲解(一)

    本教程将深入探讨UITableView的使用,特别是针对iPhone应用开发。在第一部分中,我们将着重理解UITableView的基本概念,设置数据源,创建自定义Cell以及如何进行数据绑定。 首先,UITableView是一种控件,用于展示...

Global site tag (gtag.js) - Google Analytics