010 在Xcode4.5上创建IOS6.0应用 (高级控件 表视图 基本表视图)

2023-12-10 02:38

本文主要是介绍010 在Xcode4.5上创建IOS6.0应用 (高级控件 表视图 基本表视图),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

IOS中的高级控件表视图

刚开始做这个表视图的时候,就觉得这个肯定很难,所以就抱着一个很难的态度去学,但是一旦学下来就发现怎么能这么简单呢
第一步:跟所有的应用创建一样,肯定要创建一个应用程序啦
第二步:拖入表格视图控件


第三步:该做的都做的接下来就拾编码了
先把H文件实现两个协议

<UITableViewDataSource,UITableViewDelegate>



源代码如下

ViewController.h

@interface ViewController : UIViewController
<UITableViewDataSource,UITableViewDelegate>{NSArray * listData;NSArray * listImage;
}@property(nonatomic,retain)NSArray * listData;
@property(nonatomic,retain)NSArray * listImage;@end

接下来就该实现最重要的功能了

先把需要的图片COPY到工程中来



最重要要特别注意的下面的方法实现好后就可以看到最下面的效果

//这个方法里面实现对数据的初始化,创建好文字和图片位置的数组

- (void)viewDidLoad  


//这个是该控件里面最为核心的代码红色的代码为模式代码,为得是不让表格加载过多而引起内存泄漏,所以达到一定程度后,只让他改变控件中的内容就行了

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath



//这个方法是返回每一段中的大小

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section


//这个事件为点击表格中的列实现的代码

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath



下面上源代码:

ViewController.m


@implementation ViewController@synthesize listData;
@synthesize listImage;//实现表示图的方法
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{NSUInteger row = [indexPath row];NSString *rowValue = [listData objectAtIndex:row];NSString *message = [[NSString alloc] initWithFormat:@"你选择的号码是%@",rowValue];UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"生死选择"message:message delegate:selfcancelButtonTitle:@"OK"otherButtonTitles:nil, nil];[alert show];[alert release];[message release];//实现点击时,让点击的那个选中慢慢消失[tableView deselectRowAtIndexPath:indexPath animated:YES];}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{//返回段里面有几行return [listData count];
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{static NSString *CellIdentifier = @"Cell";UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];if (cell == nil) {cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];}NSUInteger row = [indexPath row];cell.textLabel.text = [listData objectAtIndex:row];UIImage *img = [UIImage imageNamed:[listImage objectAtIndex:row]];cell.imageView.image = img;return cell;}- (void)viewDidLoad
{[super viewDidLoad];NSArray *arr = [[NSArray alloc] initWithObjects:@"CALL01",@"CALL02",@"CALL03",@"CALL04",@"CALL05",@"CALL06",@"CALL07",@"CALL08",@"CALL09",nil];NSArray *img = [[NSArray alloc] initWithObjects:@"1.png",@"2.png",@"3.png",@"4.png",@"5.png",@"6.png",@"7.png",@"8.png",@"9.png",nil];self.listData = arr;self.listImage = img;[arr release];[img release];
}- (void)didReceiveMemoryWarning
{[super didReceiveMemoryWarning];// Dispose of any resources that can be recreated.
}- (void)dealloc
{[listData release];[listImage release];[super dealloc];
}@end

最后的效果






这篇关于010 在Xcode4.5上创建IOS6.0应用 (高级控件 表视图 基本表视图)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/475794

相关文章

PostgreSQL的扩展dict_int应用案例解析

《PostgreSQL的扩展dict_int应用案例解析》dict_int扩展为PostgreSQL提供了专业的整数文本处理能力,特别适合需要精确处理数字内容的搜索场景,本文给大家介绍PostgreS... 目录PostgreSQL的扩展dict_int一、扩展概述二、核心功能三、安装与启用四、字典配置方法

Python中你不知道的gzip高级用法分享

《Python中你不知道的gzip高级用法分享》在当今大数据时代,数据存储和传输成本已成为每个开发者必须考虑的问题,Python内置的gzip模块提供了一种简单高效的解决方案,下面小编就来和大家详细讲... 目录前言:为什么数据压缩如此重要1. gzip 模块基础介绍2. 基本压缩与解压缩操作2.1 压缩文

Python中re模块结合正则表达式的实际应用案例

《Python中re模块结合正则表达式的实际应用案例》Python中的re模块是用于处理正则表达式的强大工具,正则表达式是一种用来匹配字符串的模式,它可以在文本中搜索和匹配特定的字符串模式,这篇文章主... 目录前言re模块常用函数一、查看文本中是否包含 A 或 B 字符串二、替换多个关键词为统一格式三、提

Java MQTT实战应用

《JavaMQTT实战应用》本文详解MQTT协议,涵盖其发布/订阅机制、低功耗高效特性、三种服务质量等级(QoS0/1/2),以及客户端、代理、主题的核心概念,最后提供Linux部署教程、Sprin... 目录一、MQTT协议二、MQTT优点三、三种服务质量等级四、客户端、代理、主题1. 客户端(Clien

Go语言数据库编程GORM 的基本使用详解

《Go语言数据库编程GORM的基本使用详解》GORM是Go语言流行的ORM框架,封装database/sql,支持自动迁移、关联、事务等,提供CRUD、条件查询、钩子函数、日志等功能,简化数据库操作... 目录一、安装与初始化1. 安装 GORM 及数据库驱动2. 建立数据库连接二、定义模型结构体三、自动迁

ModelMapper基本使用和常见场景示例详解

《ModelMapper基本使用和常见场景示例详解》ModelMapper是Java对象映射库,支持自动映射、自定义规则、集合转换及高级配置(如匹配策略、转换器),可集成SpringBoot,减少样板... 目录1. 添加依赖2. 基本用法示例:简单对象映射3. 自定义映射规则4. 集合映射5. 高级配置匹

Java中的for循环高级用法

《Java中的for循环高级用法》本文系统解析Java中传统、增强型for循环、StreamAPI及并行流的实现原理与性能差异,并通过大量代码示例展示实际开发中的最佳实践,感兴趣的朋友一起看看吧... 目录前言一、基础篇:传统for循环1.1 标准语法结构1.2 典型应用场景二、进阶篇:增强型for循环2.

python如何创建等差数列

《python如何创建等差数列》:本文主要介绍python如何创建等差数列的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录python创建等差数列例题运行代码回车输出结果总结python创建等差数列import numpy as np x=int(in

怎么用idea创建一个SpringBoot项目

《怎么用idea创建一个SpringBoot项目》本文介绍了在IDEA中创建SpringBoot项目的步骤,包括环境准备(JDK1.8+、Maven3.2.5+)、使用SpringInitializr... 目录如何在idea中创建一个SpringBoot项目环境准备1.1打开IDEA,点击New新建一个项

如何使用Maven创建web目录结构

《如何使用Maven创建web目录结构》:本文主要介绍如何使用Maven创建web目录结构的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录创建web工程第一步第二步第三步第四步第五步第六步第七步总结创建web工程第一步js通过Maven骨架创pytho