`
linwwwei
  • 浏览: 222868 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

UITableView 详细讲解

 
阅读更多

UITableView 详细讲解

 DataTable = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, 420)];

 [DataTable setDelegate:self];

 [DataTable setDataSource:self];

 [self.view addSubview:DataTable];

 [DataTable release];

 

 

二、UITableViewMethod

 

 

//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

 

//改变换行线颜色lyttzx.com

 

tableView.separatorColor = [UIColor blueColor];

 

分享到:
评论

相关推荐

    UITableView 详细讲解.

    UITableView 详细讲解

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

    在iOS应用开发中,UITableView是不可或缺的组件,用于展示列表数据。本教程将深入探讨UITableView的使用,特别是针对iPhone应用开发。在第一部分中,我们将着重理解UITableView的基本概念,设置数据源,创建自定义...

    uitableview显示两列数据

    以下将详细讲解如何实现这个功能。 首先,我们需要创建自定义的`UITableViewCell`子类,以便为两列数据提供足够的空间。在`Interface Builder`或者通过代码创建一个新的`.xib`文件,并在其中设计单元格布局,包含两...

    仿IOS式ListVIew UITableView

    以下我们将深入探讨如何在Android中实现这样的功能,并围绕UITableView标签进行详细的讲解。 UITableView在iOS中是用于显示一列可滚动数据的标准控件,它能够动态加载数据,以优化内存使用并提高性能。在Android中...

    UITableView 快捷菜单的使用Demo

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

    UItableView操作大全

    本篇文章将深入探讨UITableView的"增删查改"四大核心操作,并结合Navdemo这个示例项目进行讲解。 首先,我们来看"增"。在UITableView中添加新数据通常涉及以下步骤: 1. **增加数据源**:当你有新的数据需要添加时...

    IOS 本地图片 uitableview 瀑布流 沙盒功能

    下面将分别详细讲解这三个核心知识点。 首先,我们来看**本地图片的加载**。在iOS应用中,本地图片通常存储在应用的资源文件中或者沙盒的Documents或Library目录下。加载本地图片时,我们可以使用`UIImage`类的初始...

    UITableView基本用法大全

    本教程将深入讲解UITableView的基本用法,包括创建、配置、数据源与代理方法、Cell的重用机制以及AutoLayout的应用。 首先,创建UITableView非常简单,既可以通过代码创建,也可以在Storyboard中拖拽添加。在代码中...

    UITableView 下拉刷新EGOTableViewPullRefresh

    下面将详细讲解如何使用`EGOTableViewPullRefresh`库来为`UITableView`添加下拉刷新功能。 首先,`EGOTableViewPullRefresh`库是由Egor Ogladov创建的,它提供了一个简单的方法来添加自定义的下拉刷新视图到`...

    UITableView单组数据应用

    本示例将深入讲解UITableView的单组数据应用,包括如何设置cell的列高、实现多行选中与删除、局部刷新以及反选功能。以下是对这些知识点的详细说明: 1. **设置cell列高**: 在UITableView中,每个cell的高度可以...

    uiscrollview uitableview上拉刷新

    本教程将详细讲解如何在 `UIScrollView`(尤其是 `UITableView`)中实现上拉和下拉刷新功能。 一、`UIScrollView` 基础 `UIScrollView` 是一个可以容纳大型内容并允许用户滚动查看的视图。它通过内容大小(content...

    ios-swift-使用表格组件(UITableView)实现分组列表.zip

    本教程将详细讲解如何利用Swift和UITableView来创建一个具有分组功能的列表。 首先,我们需要了解UITableView的基本概念。UITableView是一个可以滚动的视图,它能显示一行行的数据,这些数据由UITableViewCell表示...

    UITableView表格的修改

    本教程将深入讲解如何对UITableView进行修改,包括增、删、移等操作,以及如何通过代理模式实现这些功能。下面我们将详细讨论相关知识点。 1. UITableView的基本结构: UITableView由多个单元格(UITableViewCell...

    UITableView编辑-右划插入和左划删除、置顶、标记.zip

    本教程将深入讲解如何使用Swift实现UITableView的编辑功能,包括右划插入、左划删除、置顶以及标记。 首先,让我们了解UITableView的基本编辑模式。Swift中的UITableView支持两种编辑模式:普通编辑模式(normal ...

    uitableview使用

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

    ios-UITableView 多选.zip

    以下是对这个知识点的详细讲解: 1. UITableView基本概念: - UITableView是一种控件,用于显示一系列行,通常用于数据列表展示。 - 每一行称为一个Cell,可以自定义样式,包含多个单元格视图。 - UITableView...

    两个UITableView关联

    本教程将详细讲解如何在iOS应用中实现两个或多个`UITableView`的关联。 首先,理解基本概念。`UITableView` 是一个显示数据列表的控件,通常与`dataSource`(数据源)和`delegate`(代理)配合使用。`dataSource`...

    UITableView的使用

    在本教程中,我们将详细介绍如何使用UITableView及其代理方法,并着重讲解如何通过继承UITableViewCell以及重写父类方法来实现label和cell的自适应高度。此外,还会探讨TableView的编辑功能。 首先,UITableView的...

    UITableView-Swift

    本项目"UITableView-Swift"专注于讲解如何使用Swift语言有效地创建和管理`UITableView`。以下是关于`UITableView`在Swift中使用的详细知识点: 1. **初始化UITableView** - `UITableView`可以通过代码或Interface ...

    UITableview的cell自适应高度

    本篇将详细讲解如何通过纯代码实现UITableView的Cell自适应高度。 方法一:使用自动布局(Auto Layout) 1. 首先,确保你的Cell中所有的子视图都已经设置了约束。每个子视图应该有四个约束(上、下、左、右),...

Global site tag (gtag.js) - Google Analytics