UITableView简介:
有关于UITableView的介绍,在苹果官网上有比较具体的介绍,下面我还是简单复述一下下。表用于显示数据列表,数据列表中的每项都由行表示 ,共主要作用如下:
- 为了让用户能通过分层的数据进行导航
- 为了把项以索引列表的形式展示
- 用于分类不同的项并展示其详细信息
- 为了展示选项的可选列表
UITableView的种类:
UITableView的组成:
表中的每一行都由一个UITableViewCell表示,可以使用一个图像、一些文本、一个可选的辅助图标来配置每个UITableViewCell对象,其模型如下:
UITableViewCell类为每个Cell定义了一些属性:
- textLabel:Cell的主文本标签(一个UILabel对象)
- detailTextLabel:Cell的二级文本标签,当需要添加额外细节时(一个UILabel对象)
- imageView:一个用来装载图片的图片视图(一个UIImageView对象)
UITableView的创建:
1.视图布局:UITableView类继承自UIScrollView类,像其他视图一样,其实例通过窗体定义自己的边界,还可以是 其他视图的子类或父类。UITableViewController负责处理布局,并会使用一个UITableView进行填充。
2.指定数据源:UITableView实例依赖外部资源按需为新表格单元或现有表格单元提供内容,数据源根据索引路径提 供表格单元格,索引路径是NSIndexPath类的对象,描述通过数据树到达特定节点的路径,即它们的分段和它们的行。
myIndexPath=[NSIndexPath indexPathForRow:5 inSection:0];
3.指定委托:UITableView实例使用委托响应用户交互,并实现有意义的响应,委托告知表格将响应这些交互的责任移交给指定对象,委托必须实现UITableViewDelegate协议。
实践:
有了上面的一些基本知识,下面做一个小实验。
效果图:
实现的一些关键代码:
RootViewController是主屏幕控制器,用来展示最上方的示图。示图的每一行分别由不同的类来创建。
其每行创建代码如下:
1: - (void)createRows
2: {
3: [self addSectionAtIndex:0 withAnimation:UITableViewRowAnimationFade];
4:
5: [self
6: appendRowToSection:0
7: cellClass:[LabelCell class]
8: cellData:@"This is row"
9: withAnimation:
10: UITableViewRowAnimationLeft];
11:
12:
13: [self addSectionAtIndex:1 withAnimation:UITableViewRowAnimationFade];
14:
15: [self
16: appendRowToSection:1
17: cellClass:[NibLoadedCell class]
18: cellData:@"This is row"
19: withAnimation:
20: UITableViewRowAnimationLeft];
21:
22:
23:
24: [self addSectionAtIndex:2 withAnimation:UITableViewRowAnimationFade];
25:
26: [self
27: appendRowToSection:2
28: cellClass:[TextFieldCell class]
29: cellData:
30: [NSMutableDictionary dictionaryWithObjectsAndKeys:
31: @"TextField",
32: @"label",
33: @"", @"value",
34: NSLocalizedString(@"input value here", @""),
35: @"placeholder",
36: nil]
37: withAnimation:UITableViewRowAnimationLeft];
38: [self hideLoadingIndicator];
39: }
编写UITableViewCell子类的代码:
1: + (NSString *)nibName
2: {
3: return @"NibCell";
4: }
5:
6: - (void)handleSelectionInTableView:(UITableView *)aTableView
7: {
8: [super handleSelectionInTableView:aTableView];
9:
10: NSInteger rowIndex = [self indexPath].row;
11: [((PageViewController *)aTableView.delegate).navigationController
12: pushViewController:
13: [[[DetailViewController alloc] initWithRowIndex:rowIndex] autorelease]
14: animated:YES];
15: }
16:
17: - (void)configureForData:(id)dataObject
18: tableView:(UITableView *)aTableView
19: indexPath:(NSIndexPath *)anIndexPath
20: {
21: [super configureForData:dataObject tableView:aTableView indexPath:anIndexPath];
22:
23: label.text = dataObject;
24: }
分享到:
相关推荐
CBTableViewDataSource, 只需一行就可以为UITableView创建数据源和委托 CBTableViewDataSource 只需一行即可为 UITableView 创建 DataSource 和 Delegate 。 中文文档( 中文文档)简介CBTableViewDataSource 是一个轻...
ios生命周期,消息流程,基本数据类型,objective-c基础,helloworld示例,uitableview
iOS学习笔记 十年生死两茫茫,不思量,自难忘,华年短暂,陈辞岁月悠悠伤, 满腔热血已芜荒,展未来,后生强,战战兢兢,如履薄冰心彷徨, 青丝化雪、鬓角成霜,已是...13.UI基础之UITableView 14.UI基础之UIViewContro
简介 基于数据驱动页面的理念,接管了UITableView的delegate和dataSource的逻辑,开发者只需要关心数据的处理,避免了冗长的判断,让代码更加易于维护。 比如一个页面里面是UITableView,有5种不同的Cell。按照传统...
简介: 在展示一些经常需要更新的列表时,例如商品列表、聊天列表时,我们需要通过某种操作来刷新列表,最常用的便是下拉刷新的方法了,下拉刷新作为iOS的标准控件,即使不实用第三方库也可以容易的实现,这篇文章将...
简介: Book Description Get a rapid introduction to iPhone, iPad, and iPod touch programming. With this easy-to-follow guide, you’ll learn the steps necessary for developing your first marketable iOS...
6、testDetail,提供了四种展示展示方式,UITableViewUITableView(无sectionbar)UIScrollViewUIWebView; 依赖 1、此项目依赖MFullScreenFramework :https://github.com/was0107/MFullScreenFramework
视图层次命中测试查看生命周期框架与界限UITableView与UICollectionView UITableView UIScrollView 枚举 高阶函数地图筛选减少 闭包逃逸关闭捕捉捕获列表闭包的内存问题范围 错误处理 数据持久性核心数据用户...
PVOnboardKit是一个框架,可让您将自己的演练/简介/教程添加到您的应用程序中。 作为主要概念,使用UITableView 。 此外,为了进行更多自定义, PVOnboardKit使用TAPageControl代替UIPageControl 。 要求 iOS 8及更...
UpRefreshControl简介使用Objective-c编写的下拉刷新控件,适用于各种UIScrollView,UITableView,UICollectionView,其特点是简洁大方。效果图下拉状态:准备刷新状态:刷新中状态:安装cocoapods将下面的语句加入...
MCSwiftChatswift语言搭建聊天界面注: 本项目素材以及部分灵感来自oc版聊天界面----版本: swift1.2Xcode6.3实现文字,图片,语音消息的发送和显示关于MCSwiftChat使用简介:1.Lame文件夹下为音频转码为MP3格式的静态库...
功能包括: WKWebView的使用、JS和OC的交互、网页内容加载进度条的实现、WKWebView+UITableView混排 、 WKWebView离线缓存等。GitHub:https://github.com/wsl2ls/iOS_TipsiOS_Tips集合简介:1、暗黑模式2、AppleID...
##简介 配置好,一句代码可以集成UITableView的上下拉刷新处理好数据。 解决两个问题: 1.简化UITableView的上下拉刷新。(IOS开发中最常用到的控件不过与UITableView了。这个项目目的就是用最简单的方法初始化...
速成课程实用信息OSX简介iOS生态系统XCode Swift特征闭包枚举类和结构特性方法访问控制下标,承包商和继承deinite和ARC 可选和可选链接类型转换和嵌套类型规约延期泛型在XCode中设置一个新的iOS项目iOS应用程序的...
简介 这个项目是对iOS开发的总结,项目中列出了项目必备工具的集合,以及MVP、MVVM架构的应用、自定义组件的应用、以及一些常用工具类的封装和一些开发过程中常见问题的解决方案 常用第三方工具库 pod 'AFNetworking...
1.APP简介 仿写知乎日报 2.APP构成板块,开发思路 1.主界面:横幅+酒吧+新闻列表 2.新闻详情Webkit 3.登录界面,设置界面,收藏和消息 3.重要技术 AFN,UINavigationController,Webkit,UItableview,UIsrcollview...
5.1 uitableview和uitableview-controller简介 113 5.1.1 创建表格 113 5.1.2 uitableviewcontroller的作用 115 5.2 秘诀:创建简单的列表表格 115 5.2.1 数据源函数 116 5.2.2 重用单元格 116 5.2.3 字体...
5.1 UITableView 和UITableView- Controller 简介.....113 5.1.1 创建表格.....113 5.1.2 UITableViewController 的 作用.....115 5.2 秘诀:创建简单的列表表格.....115 5.2.1 数据源函数.....116 5.2.2 重用单元格...