`

TableView详细解释

 
阅读更多

-、建立 UITableView

DataTable = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, 420)];
 [DataTable setDelegate:self];
 [DataTable setDataSource:self];
 [self.view addSubview:DataTable];
 [DataTable release];

 

二、UITableView各Method说明

//Section总数
- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView{
 return TitleData;
}
 
// Section Titles
//每个section显示的标题
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{
 return @"";
}
 
//指定有多少个分区(Section),默认为1
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
 return 4;
}
 
//指定每个分区中有多少行,默认为1
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
}
 
//绘制Cell
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *SimpleTableIdentifier = @"SimpleTableIdentifier";
  
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:
                             SimpleTableIdentifier];
    if (cell == nil) {  
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
                                       reuseIdentifier: SimpleTableIdentifier] autorelease];
 }
 cell.imageView.image=image;//未选cell时的图片
 cell.imageView.highlightedImage=highlightImage;//选中cell后的图片
 cell.text=//.....
 return cell;
}
 
//行缩进
-(NSInteger)tableView:(UITableView *)tableView indentationLevelForRowAtIndexPath:(NSIndexPath *)indexPath{
 NSUInteger row = [indexPath row];
 return row;
}
 
//改变行的高度
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
    return 40;
}
 
//定位
[TopicsTable setContentOffset:CGPointMake(0, promiseNum * 44 + Chapter * 20)];
 
//返回当前所选cell
NSIndexPath *ip = [NSIndexPath indexPathForRow:row inSection:section];
[TopicsTable selectRowAtIndexPath:ip animated:YES scrollPosition:UITableViewScrollPositionNone];
 
[tableView setSeparatorStyle:UITableViewCellSelectionStyleNone];
 
//选中Cell响应事件
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
 [tableView deselectRowAtIndexPath:indexPath animated:YES];//选中后的反显颜色即刻消失
}
 
//判断选中的行(阻止选中第一行)
-(NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSUInteger row = [indexPath row];
    if (row == 0)
        return nil;
   
    return indexPath;
}
 
//划动cell是否出现del按钮
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {
}
 
//编辑状态
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle
forRowAtIndexPath:(NSIndexPath *)indexPath
{
}
[topicsTable setContentSize:CGSizeMake(0,controller.promiseNum * 44)];
//右侧添加一个索引表
- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView{
}
//返回Section标题内容
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{
}
//自定义划动时del按钮内容
- (NSString *)tableView:(UITableView *)tableView
titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath
//跳到指的row or section
[tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] atScrollPosition:UITableViewScrollPositionBottom animated:NO];
三、在UITableViewCell上建立UILable多行显示
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString *CellIdentifier = @"Cell";   
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
  UILabel *Datalabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 0, 320, 44)];
  [Datalabel setTag:100];
  Datalabel.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
  [cell.contentView addSubview:Datalabel];
  [Datalabel release];
 } 
 UILabel *Datalabel = (UILabel *)[cell.contentView viewWithTag:100];
 [Datalabel setFont:[UIFont boldSystemFontOfSize:18]];
 Datalabel.text = [data.DataArray objectAtIndex:indexPath.row];
 cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
    return cell;
}
//选中cell时的颜色
typedef enum {
    UITableViewCellSelectionStyleNone,
    UITableViewCellSelectionStyleBlue,
    UITableViewCellSelectionStyleGray
} UITableViewCellSelectionStyle 
//cell右边按钮格式
typedef enum {
    UITableViewCellAccessoryNone,                   // don't show any accessory view
    UITableViewCellAccessoryDisclosureIndicator,    // regular chevron. doesn't track
    UITableViewCellAccessoryDetailDisclosureButton, // blue button w/ chevron. tracks
    UITableViewCellAccessoryCheckmark               // checkmark. doesn't track
} UITableViewCellAccessoryType
//是否加换行线
typedef enum {
    UITableViewCellSeparatorStyleNone,
    UITableViewCellSeparatorStyleSingleLine
} UITableViewCellSeparatorStyle//改变换行线颜色
tableView.separatorColor = [UIColor blueColor];
 
分享到:
评论

相关推荐

    iphone tableview的八种功能应用实例

    以下是对这八种功能的详细解释: 1. **基本列表展示**:TableView最基本的功能就是展示一个有序的数据列表。每个单元格(UITableViewCell)可以包含标题、图片或其他信息,通过代理方法`...

    IOS动态隐藏、显示tableview前方图片

    下面将详细解释如何在Swift中实现这个功能,以及它与`setEditing`方法的关系。 首先,我们要了解UITableView的基本结构。UITableView是由多个UITableViewCell组成的,每个单元格(cell)可以包含各种视图,如文本...

    tableView联动,类似淘宝购物栏界面

    以下是对这个知识点的详细解释: 1. **联动原理**: 联动tableView的基本原理是通过一个tableView的选择改变另一个tableView的数据源。当上部tableView(通常称为筛选条件区)中的某一行被选中时,会触发一个事件...

    JavaFX2.0_表格框TableView

    以下是关于JavaFX 2.0表格框TableView及其核心组件的详细解释: 1. **TableView类**: - `TableView`是主要的类,它代表一个可滚动的二维数据视图。通过它,你可以创建具有多列的表格,并在每一列中显示不同类型的...

    ios-tableview简单使用.zip

    在iOS开发中,UITableView是展示数据列表的重要控件,它被广泛用于应用的主...在"wp_UITableView"文件中,你可能找到了更多关于实现这些功能的示例代码和详细解释,这将帮助你进一步理解UITableView在iOS开发中的运用。

    IOS中sqlite tableview的demo

    下面将详细阐述相关知识点。 1. SQLite介绍: SQLite是一个开源的嵌入式数据库,它不需要单独的服务器进程,而是作为应用程序的一部分运行。它的数据存储在文件中,方便移植,适合小型到中型规模的应用。 2. iOS中...

    tableview上加背景图片

    下面将详细解释如何在UITableView上添加背景图片以及通过代码创建UITableView的相关知识点。 首先,我们需要准备一张背景图片,通常选择与应用主题相符的设计。背景图片可以通过Xcode的Asset Catalog或者直接在项目...

    IOS TableView点击更多,展开

    以下是对“IOS TableView点击更多,展开”这一主题的详细解释。 1. **扩展TableView行的概念** - 在UITableView中,每个可见的单元格称为一个Cell。当用户点击“更多”按钮时,通常会触发某个Cell的扩展,使其显示...

    ios-tableView头部拉伸效果.zip

    首先,我们来详细解释这个功能的核心技术点: 1. **UIScrollViewDelegate**:`UITableView`继承自`UIScrollView`,因此可以利用`UIScrollViewDelegate`的协议方法来监听用户的手势操作。特别是`scrollViewDidScroll...

    ios tableView 利用run Loop

    本文将详细解释如何利用RunLoop来优化UITableView的性能。 RunLoop是iOS中的一个核心概念,它负责处理应用程序的事件循环,确保程序在没有用户交互时仍能保持运行状态。RunLoop的主要职责是接收事件、调度线程并...

    TableView 的使用 实例二

    由于没有直接提供博客内容,我将根据通常的TableView使用实践来详细解释这个主题。 1. **UITableView的基本结构**: UITableView由多个单元格(UITableViewCell)组成,每个单元格显示一行数据。此外,还有可选的...

    QQ_TableView.zipIOS应用例子源码下载

    以下是关于这个源码示例中涉及的主要知识点的详细解释: 1. **UITableView**: UITableView是iOS SDK中的核心组件之一,用于展示列表数据。在QQ_TableView项目中,它被用来创建一个与QQ应用类似的用户界面,展示信息...

    TableView的相关显示操作

    以上是对“TableView的相关显示操作”的详细解释。在实际项目中,开发者需要根据具体需求灵活运用这些知识点,结合提供的代码资源,调整注释和数据源,以实现各种自定义的显示效果。通过不断实践,你将对UITableView...

    用UITableView 进行多选的代码例子

    在iOS开发中,UITableView是用于展示数据列表的关键组件,它提供了丰富的交互功能。这篇博客“用UITableView 进行多选...在提供的博客链接中,可能会有更具体的代码示例和详细的解释,建议参考阅读以获取更全面的理解。

    ios-类似百度外卖首页---tableview内嵌套collectionview.zip

    首先,我们来详细解释这个标题所涉及的知识点: 1. **UITableView与UICollectionView嵌套**:在iOS中,UITableView主要用于展示一维列表数据,而UICollectionView则适合处理二维或更复杂的布局。在百度外卖首页的...

    TableView上拉下拉.zip

    首先,我们来详细解释一下"上拉加载更多"和"下拉刷新"这两个概念: 1. **下拉刷新**:当用户在列表顶部向下滑动时,列表会显示一个刷新指示器,通常伴随着动画效果。一旦用户松开手指,应用就会加载最新的数据并...

    Lively TableView

    以下是对这个技术的详细解释: 1. **自定义动画效果**: - **风扇效果(Fan)**:当用户滑动列表时,行元素像扇子一样展开,营造出一种立体感,增加了动态视觉的趣味性。 - **卷边效果(Curl)**:模拟纸张翻页的...

    tableView定制

    本示例("tableView定制")深入探讨了如何自定义UITableView以满足特定需求,包括对表格操作的各个常用方法的解释以及对不同类型的UITableViewCell的展示和说明。 首先,我们来看一下UITableView的基本使用。创建一...

    ios--tableview加入购物车飞入效果

    下面将详细解释如何实现这一功能。 首先,我们需要创建一个自定义的UITableViewCell,这个单元格将展示商品的信息,如图片、名称和价格。在Swift中,你可以创建一个新的Swift文件,如`ProductTableViewCell.swift`...

Global site tag (gtag.js) - Google Analytics