`

UITableView的简单实现

 
阅读更多

    //设置主页面

    self.flowColorTableViewController = [[[FlowColorTableViewController alloc] initWithNibName:@"FlowColorTableViewController" bundle:nil] autorelease];

    self.window.rootViewController = self.flowColorTableViewController;

 

//---常量的定义---

//分区数
#define sectionCount 2
//系统分区0
#define sysSetSection 0
//个人分区1
#define personSection 1



#import "FlowColorTableViewController.h"

@interface FlowColorTableViewController ()

@end

@implementation FlowColorTableViewController

- (id)initWithStyle:(UITableViewStyle)style
{
    self = [super initWithStyle:style];
    if (self) {
        // Custom initialization
    }
    return self;
}

- (void)dealloc {
	[sysSetArray release];
	[personSetArray release];
    [super dealloc];
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    //初始化数组
    sysSetArray = [[NSMutableArray alloc] 
				  initWithObjects:@"IP 设置",@"主页样式",@"软件初始化",nil];
	personSetArray = [[NSMutableArray alloc] 
				   initWithObjects:@"自动登陆",@"记住密码",@"主题设置",nil];
}

- (void)viewDidUnload
{
    [super viewDidUnload];
   
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
}


//分区数
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return sectionCount;
}

//返回给定分区显示的行数
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    switch (section) {
		case sysSetSection:
			return [sysSetArray count];
		case personSection:
			return [personSetArray count];
		default:
			return 0;
	}
}

//返回给定分区的标题
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
    switch (section) {
        case sysSetSection:
            return @"系统设置";
        case personSection:
            return @"个人设置";
        default:
            return @"Unknown";
    }
}

//返回指定分区和行对应的单元格
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";
	//寻找已分配且可用的单元格
	UITableViewCell *cell = (UITableViewCell*)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
	//如何为空,就分配并初始化一个单元格
    if(cell == nil) 
	{
		cell = [[[UITableViewCell alloc] 
				 initWithFrame:CGRectZero 
				 reuseIdentifier:CellIdentifier] autorelease];
	}
	//根据indexPath提供的信息,设置单元格的格式
	switch (indexPath.section) {//根据分区进行设置
		case sysSetSection://系统设置分区
            //单元格对象 setText 值是来自于数组
			[[cell textLabel] setText:[sysSetArray objectAtIndex:indexPath.row]];
			break;
		case personSection://个人设置分区
			[[cell textLabel] setText:[personSetArray objectAtIndex:indexPath.row]];
			break;
		default:
			[[cell textLabel] 
			 setText:@"Unknown"];
	}
	return cell;

}


//表行点击方法
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    UIAlertView *showMsgAlert;
	NSString	*showMsg;
	switch (indexPath.section) {
		case sysSetSection:
			showMsg=[[NSString alloc] 
						   initWithFormat:
						   @"你点击了,系统设置【 %@ 】项",
						   [sysSetArray objectAtIndex: indexPath.row]];
			break;
		case personSection:
			showMsg=[[NSString alloc] 
						   initWithFormat:
						   @"你点击了,个人设置【 %@ 】项",
						   [personSetArray objectAtIndex: indexPath.row]];
			break;
		default:
			showMsg=[[NSString alloc] 
						   initWithFormat:
						   @"unknown"];
			break;
	}
	
	showMsgAlert = [[UIAlertView alloc] 
					 initWithTitle: @"Flower Selected" 
					 message:showMsg 
					 delegate: nil 
					 cancelButtonTitle: @"Ok" 
					 otherButtonTitles: nil];
	[showMsgAlert show];
	[showMsgAlert release];
	[showMsg release];
}

@end
 
分享到:
评论

相关推荐

    IOS iphone UITableView简单例子

    这个“IOS iphone UITableView简单例子”是一个基础的教程,旨在帮助开发者理解如何在iPhone应用中实现UITableView的基本功能。在这个项目中,我们将会看到如何创建两个不同的表视图区域,并且在用户点击某一行时弹...

    IOS自定义UITableView框架(社区风格)

    7. **动画效果**:为了增加用户体验,可以添加一些动画效果,比如加载更多数据时的下拉刷新控件,或者在Cell中添加简单的过渡动画。 8. **性能优化**:使用异步加载图片库(如SDWebImage)来避免阻塞主线程,同时...

    UITableView的简单使用

    本教程将深入探讨UITableView的简单使用,帮助开发者快速掌握其核心概念和基本功能。 首先,UITableView是由两部分组成:数据源(DataSource)和委托(Delegate)。数据源负责提供单元格内容,而委托则处理用户与...

    ASIHttpRequest 队列下载 UITableView实现

    本项目"ASIHttpRequest 队列下载 UITableView实现"旨在教你如何利用ASIHttpRequest库进行队列下载,并通过UITableView来展示下载进度和管理下载任务。 首先,了解ASIHttpRequest库的核心功能。它支持HTTP的各种方法...

    IOS UITableView 的简单案例

    这个简单的案例将向我们展示如何使用UITableView来显示从plist文件中读取的数据,并且为每个单元格(Cell)设置点击事件。以下是对这个案例的详细解释: 首先,我们需要了解`UITableView`的基本结构和工作原理。...

    UITableView实现时间轴效果

    本教程将深入探讨如何利用UITableView实现时间轴效果,这种效果常用于日志、消息记录或活动更新等场景,能够清晰地按照时间顺序展示信息。 首先,理解时间轴的基本构成。一个时间轴通常包含时间点(时间戳)和与之...

    iOS UITableView的简单Demo

    在这个“iOS UITableView的简单Demo”中,我们将深入探讨如何在iOS应用中集成UITableView,以及如何使用MVC(Model-View-Controller)设计模式来实现自定义Cell。 首先,MVC设计模式是iOS开发中的核心设计原则之一...

    iPhone之UITableView入门

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

    IOS UiTableView简单应用仿个人中心

    这个“IOS UiTableView简单应用仿个人中心”教程将带你入门UITableView的使用,帮助你掌握如何创建并自定义一个类似于个人中心的界面。 UITableView的基本构成包括Cell(单元格)和DataSource(数据源)。Cell是...

    ios-模仿UITableView的机制实现横向可重用滑动视图(同时简单实现了侧滑).zip

    标题"ios-模仿UITableView的机制实现横向可重用滑动视图(同时简单实现了侧滑).zip"所描述的项目,就是针对这种需求的一个解决方案。 这个项目的核心是创建一个类似于UITableView的自定义视图,但它的滚动方向是...

    UITableView教材

    ### UITableView教材:构建与操作教程 #### 一、Table的整个框架搭建 ##### 1、两种样式的初始化 UITableView 提供了两种...通过上述步骤和示例代码,您可以有效地创建和管理UITableView,从而实现各种功能需求。

    纯代码创建UITableView

    本教程将详细介绍如何通过纯代码方式创建一个简单的UITableView,这对于初学者来说是一次很好的实践。 首先,我们需要理解UITableView的基本组成部分。UITableView由两大部分构成:数据源(DataSource)和委托...

    ASIHTTPRequest+UITableView实现多个下载任务

    本项目使用了ASIHTTPRequest库与UITableView相结合来实现这一功能。ASIHTTPRequest是一个广泛使用的HTTP请求库,它提供了简单易用的API,使得网络请求操作变得相对简单。而UITableView则是iOS中用于展示列表数据的...

    UITableView单选

    以下是一个简单的实现步骤: 1. **设置UITableViewDelegate和DataSource**:在你的ViewController中,确保已经设置了UITableView的Delegate和DataSource,并实现了相应的协议方法。 2. **定义变量**:在...

    UITableView的下拉刷新

    下面将详细阐述如何在UITableView中实现这两个功能。 ### 下拉刷新(Pull-to-Refresh) 下拉刷新允许用户向下拖动表格视图,当到达顶部时,显示一个刷新指示器,然后释放手指以更新数据。在iOS中,我们通常使用...

    UITableView空数据处理

    只需简单集成,就能快速实现专业的空数据视图。 5. **异步加载数据时的处理**:在数据尚未加载完毕时,可以显示一个加载中的指示器,数据加载完成后,根据数据量决定显示数据列表还是空数据视图。 6. **交互设计**...

    UITableView的使用

    在本教程中,我们将深入探讨UITableView的使用,包括如何简单地搭建UITableView,搭建分组的UITableView,搭建分段的UITableView以及实现可删除行的功能。 首先,让我们从最基础的开始——搭建一个简单的...

    滑动UITableview 放大tableHeader

    描述中提到“代码实现简单,逻辑清楚”,这表明实现这个功能并不复杂,关键在于理解UITableView的滚动机制和视图变换。同时,这也鼓励开发者自己动手实践,加深对这些概念的理解。 在实际项目中,我们可能还需要...

    iPhone的UIAlertView加入UITableView

    在iOS开发中,`UIAlertView`曾经是用于展示警告或询问用户简单信息的常见组件,而`UITableView`则是显示可滚动列表的视图。当需要在警告视图中展示更复杂的信息,比如一个列表,开发者可能会将`UITableView`与`...

Global site tag (gtag.js) - Google Analytics