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

相关文章

JavaScript中的高级调试方法全攻略指南

《JavaScript中的高级调试方法全攻略指南》什么是高级JavaScript调试技巧,它比console.log有何优势,如何使用断点调试定位问题,通过本文,我们将深入解答这些问题,带您从理论到实... 目录观点与案例结合观点1观点2观点3观点4观点5高级调试技巧详解实战案例断点调试:定位变量错误性能分

PHP应用中处理限流和API节流的最佳实践

《PHP应用中处理限流和API节流的最佳实践》限流和API节流对于确保Web应用程序的可靠性、安全性和可扩展性至关重要,本文将详细介绍PHP应用中处理限流和API节流的最佳实践,下面就来和小编一起学习... 目录限流的重要性在 php 中实施限流的最佳实践使用集中式存储进行状态管理(如 Redis)采用滑动

深入浅出Spring中的@Autowired自动注入的工作原理及实践应用

《深入浅出Spring中的@Autowired自动注入的工作原理及实践应用》在Spring框架的学习旅程中,@Autowired无疑是一个高频出现却又让初学者头疼的注解,它看似简单,却蕴含着Sprin... 目录深入浅出Spring中的@Autowired:自动注入的奥秘什么是依赖注入?@Autowired

从基础到高级详解Python数值格式化输出的完全指南

《从基础到高级详解Python数值格式化输出的完全指南》在数据分析、金融计算和科学报告领域,数值格式化是提升可读性和专业性的关键技术,本文将深入解析Python中数值格式化输出的相关方法,感兴趣的小伙... 目录引言:数值格式化的核心价值一、基础格式化方法1.1 三种核心格式化方式对比1.2 基础格式化示例

Python ORM神器之SQLAlchemy基本使用完全指南

《PythonORM神器之SQLAlchemy基本使用完全指南》SQLAlchemy是Python主流ORM框架,通过对象化方式简化数据库操作,支持多数据库,提供引擎、会话、模型等核心组件,实现事务... 目录一、什么是SQLAlchemy?二、安装SQLAlchemy三、核心概念1. Engine(引擎)

Android协程高级用法大全

《Android协程高级用法大全》这篇文章给大家介绍Android协程高级用法大全,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友跟随小编一起学习吧... 目录1️⃣ 协程作用域(CoroutineScope)与生命周期绑定Activity/Fragment 中手

Spring创建Bean的八种主要方式详解

《Spring创建Bean的八种主要方式详解》Spring(尤其是SpringBoot)提供了多种方式来让容器创建和管理Bean,@Component、@Configuration+@Bean、@En... 目录引言一、Spring 创建 Bean 的 8 种主要方式1. @Component 及其衍生注解

PostgreSQL简介及实战应用

《PostgreSQL简介及实战应用》PostgreSQL是一种功能强大的开源关系型数据库管理系统,以其稳定性、高性能、扩展性和复杂查询能力在众多项目中得到广泛应用,本文将从基础概念讲起,逐步深入到高... 目录前言1. PostgreSQL基础1.1 PostgreSQL简介1.2 基础语法1.3 数据库

Python异步编程之await与asyncio基本用法详解

《Python异步编程之await与asyncio基本用法详解》在Python中,await和asyncio是异步编程的核心工具,用于高效处理I/O密集型任务(如网络请求、文件读写、数据库操作等),接... 目录一、核心概念二、使用场景三、基本用法1. 定义协程2. 运行协程3. 并发执行多个任务四、关键

Go语言连接MySQL数据库执行基本的增删改查

《Go语言连接MySQL数据库执行基本的增删改查》在后端开发中,MySQL是最常用的关系型数据库之一,本文主要为大家详细介绍了如何使用Go连接MySQL数据库并执行基本的增删改查吧... 目录Go语言连接mysql数据库准备工作安装 MySQL 驱动代码实现运行结果注意事项Go语言执行基本的增删改查准备工作