- 浏览: 520827 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
tangyunliang:
大哥你太历害了谢谢
Android基于XMPP Smack Openfire开发IM【四】初步实现两个客户端通信 -
u013015029:
LZ,请问下,在// 添加消息到聊天窗口 , 这里获取Ed ...
Android基于XMPP Smack Openfire开发IM【四】初步实现两个客户端通信 -
endual:
怎么保持会话,我搞不懂啊
Android基于XMPP Smack Openfire开发IM【一】登录openfire服务器 -
donala_zq:
显示:[2013-11-30 11:50:36 - Andro ...
android-----------新浪微博 -
donala_zq:
哥,运行不了啊
android-----------新浪微博
简介:上篇做了Table View的一些介绍 ,还做了一个TableView 的Plain样式的例子,这篇我们学习Grouped样式表的例子,还有用到前面读取Plist的知识(见iOS学习之 plist文件的读写),把Plist文件中的数据读取出来,放到Table view里展示出来。这里把全国30多个省份的城市,都列出来了,plist文件里还有城市的行政区,不过这里只列出省份和城市就ok了。效果图如下:
[img]
[/img]
那么开始吧。
1、新建项目
新的一个名称为TableViewGrouped的Single View Application项目,打开项目的xib文件,拖拽TableView控件到xib文件中,摆正位置。
2、给新建的TableView找到他的归属
选中新添的TableView ,Connection Inspector,找到delegate和datasource,从它们右边的圆圈拉线到Files Owner图标上,参考上篇的第3步:
[img]
[/img]
3、设置Table View的属性为Grouped样式
[img]
[/img]
4、导入plist文件
从其他文件夹导入Provineces.plist文件,这个文件我会传到源代码里,大家都能方便使用了,包括全国30个省份和城市,还有城市的区也有。
[img]
[/img]
[img]
[/img]
5、添加.h .m的实现代码。
.h文件添加一个property
第一步从Plist读取出数据,第二步给Table添加数据。
在viewDidLoad读取Plist,plist是个array类型的,所以使用Array读取。
.m文件的实现。
实现TableView表格部分,下面这些方法看方法名就能大概明白意思。
这个方法用来告诉表格有几个分组
这个方法告诉表格第section个分段有多少行
这个方法用来告诉某个分组的某一行是什么数据,返回一个UITableViewCell
这个方法用来告诉表格第section分组的名称 :
重点介绍下这个方法:
返回所有省份名称的数组 ,通过点击右边的省份名称能快速定位到这个省份的城市,也就是快速定位到这个section。
OK,运行。效果如下:
[img]
[/img]
试试改成plain样式的分段TableView看看:
[img]
[/img]
[img]
[/img]
那么开始吧。
1、新建项目
新的一个名称为TableViewGrouped的Single View Application项目,打开项目的xib文件,拖拽TableView控件到xib文件中,摆正位置。
2、给新建的TableView找到他的归属
选中新添的TableView ,Connection Inspector,找到delegate和datasource,从它们右边的圆圈拉线到Files Owner图标上,参考上篇的第3步:
[img]
[/img]
3、设置Table View的属性为Grouped样式
[img]
[/img]
4、导入plist文件
从其他文件夹导入Provineces.plist文件,这个文件我会传到源代码里,大家都能方便使用了,包括全国30个省份和城市,还有城市的区也有。
[img]
[/img]
[img]
[/img]
5、添加.h .m的实现代码。
.h文件添加一个property
#import <UIKit/UIKit.h> @interface ViewController : UIViewController @property (strong, nonatomic) NSArray *provinces; @end
第一步从Plist读取出数据,第二步给Table添加数据。
在viewDidLoad读取Plist,plist是个array类型的,所以使用Array读取。
.m文件的实现。
@implementation ViewController @synthesize provinces; - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. NSBundle *bundle = [NSBundle mainBundle]; NSString *plistPath = [bundle pathForResource:@"Provineces" ofType:@"plist"]; NSMutableArray *array=[[NSMutableArray alloc] initWithContentsOfFile:plistPath]; self.provinces = array; }
实现TableView表格部分,下面这些方法看方法名就能大概明白意思。
这个方法用来告诉表格有几个分组
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { return [provinces count]; }
这个方法告诉表格第section个分段有多少行
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { NSArray *cities = [[provinces objectAtIndex:section]objectForKey:@"Citys"]; return [cities count]; }
这个方法用来告诉某个分组的某一行是什么数据,返回一个UITableViewCell
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { NSUInteger section = [indexPath section]; NSUInteger row = [indexPath row]; NSArray *cities = [[provinces objectAtIndex:section]objectForKey:@"Citys"] ; static NSString *GroupedTableIdentifier = @"cell"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier: GroupedTableIdentifier]; if (cell == nil) { cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:GroupedTableIdentifier]; } //给Label附上城市名称 key 为:C_Name cell.textLabel.text = [[cities objectAtIndex:row] objectForKey:@"C_Name"]; return cell; }
这个方法用来告诉表格第section分组的名称 :
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section { NSString *provincName = [[provinces objectAtIndex:section] objectForKey:@"p_Name"]; return provincName; }
重点介绍下这个方法:
返回所有省份名称的数组 ,通过点击右边的省份名称能快速定位到这个省份的城市,也就是快速定位到这个section。
- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView { //返回省份的数组 NSMutableArray *array = [NSMutableArray arrayWithCapacity:35]; for (NSDictionary *dict in provinces) { [array addObject:[dict objectForKey:@"p_Name"]]; } return array; }
OK,运行。效果如下:
[img]
[/img]
试试改成plain样式的分段TableView看看:
[img]
[/img]
- TableViewGrouped.zip (32.9 KB)
- 下载次数: 0
发表评论
-
新风作浪博客学习(十九)在iOS虚拟键盘上添加动态隐藏按钮
2013-06-08 09:19 833为了给用户比较良好的交付,想在键盘上添加一个按钮,实时根据键盘 ... -
新风作浪博客学习(十八)openURL的使用(iOS调用系统电话、浏览器、地图、邮件等) .
2013-06-08 09:19 944今天遇见一行代码实现打开一个网页,比起印象里的UIWebVie ... -
新风作浪博客学习(十七)UIImageView响应点击事件 .
2013-06-08 09:19 675有时候会遇到点击一张图片,然后让这张图片触发一个事件,或者是跳 ... -
新风作浪博客学习(十六)Navigation + Tab Bar 常用组合框架 .
2013-06-07 08:50 1203看到很多项目中都采用的是Navigation加Tab Bar组 ... -
新风作浪博客学习(十五)google地图定位小Demo .
2013-06-07 08:50 1070[img][/img]今天写的是一个简单功能的google地图 ... -
新风作浪博客学习(十四)怎样向iPhone模拟器中添加图片 .
2013-06-07 08:50 755在我们做项目中可能需要使用图库,模拟器是有图库的,但是如何像其 ... -
新风作浪博客学习(十三)表视图的分组分区和索引分区 .
2013-06-07 08:50 757本次实现的是表视图的分区和索引,代码和前面都差不多,主要还是代 ... -
新风作浪博客学习(十二)代码实现UITableViewCell表视图单元定制 .
2013-06-07 08:49 946通常情况下我们会希望单元格UITableViewCell显示自 ... -
新风作浪博客学习(十一)UITableViewCell的标记、移动、删除、插入 .
2013-06-06 09:15 1076这篇文章是建立在 代码实现 UITableView与UITa ... -
新风作浪博客学习(十)代码实现 UITableView与UITableViewCell .
2013-06-06 09:14 1124我们常用的表格类视图就是用 UITableView与UITab ... -
新风作浪博客学习(九)两个UIPickerView控件间的数据依赖 .
2013-06-06 09:14 1045本篇实现功能是两个选取器的关联操作,滚动第一个滚轮第二个滚 ... -
新风作浪博客学习(八)代码实现UIPickerView .
2013-06-06 09:14 1256先说一下当个组件选取器,我们创建一个数组NSAray来保存选取 ... -
新风作浪博客学习(七)代码 实现UIDatePicker控件 和 Tab Bar 视图切换 .
2013-06-06 09:15 1084感觉代码写控件都一个理,先在ViewDidLoad中创建控件对 ... -
新风作浪博客学习(六)ios 视图切换翻页效果 .
2013-06-05 11:18 1037本文写的是视图切换,涉及到的内容有 1.实现代码添加Navi ... -
新风作浪博客学习(五)代码实现UISlider 和 UISwitch .
2013-02-18 09:15 1086本次实现的UISlider和UISwi ... -
新风作浪博客学习(四)把plist里数据显示在textField上 .
2013-02-18 09:15 893在代码实现Lable 、textFie ... -
新风作浪博客学习(三)NSBundle读取图片 plist文件和txt文件
2013-02-18 09:15 1651本文想简单介绍一下NSBundle读取图片到视图上,读取pli ... -
新风作浪博客学习(二)代码实现Lable 、textField创建界面以及键盘的处理
2013-02-18 09:15 1147今天写的是用代码实现一个简单界面,代码重复率比较高,可读性不是 ... -
新风作浪博客学习(一)plist文件读写操作
2013-02-18 09:14 1320文件plist 全名Property List,属性列表文件, ... -
GCDiscreetNotificationView提示视图
2013-06-05 11:17 536先看一下效果图: [img] ...
相关推荐
grouped_table.json
storyboard 绘制 tableview 的demo 对于熟悉iOS storyboard 开发 理解 UITableViewController有帮助。 xcode 4.3.2 上测试通过 网上看了这么多例子,自己整理的,不容易啊,分享了。
苹果公司最早于2007年1月9日的Macworld大会上公布这个系统,最初是设计给iPhone使用的,后来陆续套用到iPod touch、iPad以及Apple TV等苹果产品上。iOS与苹果的Mac OS X操作系统一样,它也是以Darwin为基础的,因此...
像任何其他Highcharts模块(例如,导出)一样,在Highcharts脚本标记下添加指向grouped-categories.js [removed]标记。 对于NPM用户: var Highcharts = require('highcharts'), HighchartsGroupedCategories = ...
Exploiting Domain Knowledge via Grouped Weight Sharing
grouped_data_by_newspaper.xlsx
Laravel开发-laravel-grouped-widgets Laravel分组小工具
Model selection and estimation in regression with grouped variables
Laravel开发-collection-grouped-by-model 按模型分组的集合
Parallel_Grouped_Aggregation_in_DuckDB_-_DuckDB.pdf
Grouped and Multistep Nanoheteroepitaxy: Toward High-Quality GaN on Quasi-Periodic Nano-Mask
IOS TableView Grouped 例子 http://blog.csdn.net/totogo2010/article/details/7645693
分组条形图 使用 d3.js 创建的分组条形图或多系列条形图 依赖关系 先决条件(对于开发人员/贡献者) 安装 安装 浏览器支持 任何稳定的最新版本的 Chrome、Firefox 和 Internet Explorer。 入门
使用Graphpad Prism 5制作柱状比较图需要选择Grouped栏,并选择柱状图类型。 例如,根据Table 6的原始数据制作柱状比较图,首先选择Grouped栏,并选择柱状图类型。软件将自动计算均值和误差值,并生成柱状比较图。 ...
custom_radio_grouped_button 自定义单选按钮和分组复选框按钮 自定义Flutter小部件,使复选框和单选按钮更加简洁 重大更改: 从1.0.2版开始 buttonColor is now unSelectedColor 正在安装 将以下内容添加到您的...
一个易于使用的React Component创建一个复选框组,其中一个复选框用于选中所有复选框,另一个复选框则不选中任何复选框。 安装 npm install --save @createnl/grouped-checkboxes yarn add @createnl/grouped-...
grouped_buttons 一组Flutter小部件,使对复选框和单选按钮进行分组变得更加容易!正在安装将以下内容添加到您的pubspec.yaml文件中: dependencies: grouped_buttons: ^1.0.4简单用法创建一个基本的CheckboxGroup ...
使用作曲家安装: composer require dillingham/nova-grouped-field 用法 use Dillingham \ NovaGroupedField \ Grouped ; public function fields ( Request $ request ) { return [ Grouped :: make ( 'User'...
选择 grouped 栏,图表类型选择柱状图,因为涉及到两组数据比较。 通过这些示例,可以看到 Graphpad Prism 5 是一个功能强大且易于使用的统计图形绘制软件,可以快速生成多种格式的统计图表,非常适合科学研究论文...