需要多实现方法
首先需要在xib的视图文件中修改TableView的style中选择Grouped。
然后实现2个方法
1. numberOfSectionsInTableView,分多少个组。
2. titleForHeaderInSection 每个组的title
具体代码如下
省略Property List文件test.plist
//
// ViewController.h
// TableView1
//
// Created by Rayln Guan on 9/22/13.
// Copyright (c) 2013 Rayln Guan. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController<UITableViewDelegate, UITableViewDataSource>
@property(nonatomic,retain) NSDictionary *dic;
@property(nonatomic,retain) NSArray *arr;
@end
//
// ViewController.m
// TableView1
//
// Created by Rayln Guan on 9/22/13.
// Copyright (c) 2013 Rayln Guan. All rights reserved.
//
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
NSString *path = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"plist"];
self.dic = [[NSDictionary alloc] initWithContentsOfFile:path];
self.arr = [self.dic allKeys];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
NSLog(@"section:%i", section);
return [self.dic count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
//UITableViewCell *cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"cell"];
//一种提升性能的做法
//[indexPath section]获取section
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"];
if(cell == nil){
cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"cell"];
}
NSString *key = [self.arr objectAtIndex:[indexPath row]];
[[cell textLabel] setText:[self.dic objectForKey:key]];
//detail
[[cell detailTextLabel] setText:@"detail"];
//设置cell样式, 比如这个,在右侧增加一个箭头
[cell setAccessoryType:UITableViewCellAccessoryDisclosureIndicator];
//[cell setAccessoryType:UITableViewCellAccessoryDetailDisclosureButton];
//设置一个图片
NSString *path = [[NSBundle mainBundle] pathForResource:@"Default" ofType:@"png"];
UIImage *img = [[UIImage alloc]initWithContentsOfFile:path];
[[cell imageView]setImage:img];
return cell;
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
return 2;
}
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{
if(section == 0){
return @"title1";
}else{
return @"title2";
}
}
- (void)dealloc
{
NSLog(@"destory!!");
[_dic release];
[_arr release];
[super dealloc];
}
@end
分享到:
相关推荐
2. 实现UITableViewDataSource协议:你需要实现`numberOfSectionsInTableView:`方法返回分组的数量,以及`tableView:numberOfRowsInSection:`方法返回每个分组中的行数。同时,还需提供`tableView:...
实现`tableView(_:viewForHeaderInSection:)`方法,返回一个UIView实例,作为分组的头部。 ```swift func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { let ...
`tableView分组`是UITableView的一种高级用法,允许我们将数据按照逻辑分组显示,这样可以更好地组织和呈现信息。下面将详细介绍如何实现UITableView的分组功能,并通过一个简单的`GroupDemo`来阐述其核心概念。 ...
给tableView的分组添加阴影效果可以增强界面的层次感和视觉吸引力。本篇将详细介绍如何为tableView的一个section整体添加阴影效果,以及相关的实现原理。 首先,我们需要理解UITableView的基本结构。UITableView由...
在本案例“TableView之二分组(汽车案例)”中,我们将深入探讨如何使用TableView实现数据的分组显示,以及如何有效地封装数据模型,以便更好地管理和操作数据。这个实战项目可能涉及到Swift编程语言和UIKit框架,特别...
本项目"ios-简单的tableView的分组效果.zip"旨在实现一个基本的分组式UITableView,模仿聊天软件的界面布局,虽然界面设计简单,甚至有些朴素,但其核心在于功能的实现。 首先,我们要理解UITableView的基本结构。...
UITableView的分组显示效果,适合初学者,主要学习UITableView展开和收缩分组,读取项目plist配置文件用于分组表格的数据来源,自定义table的分区head控件,自定义table的cell数据显示,非常不错的效果
TableViewSection是UITableView中的一个逻辑分组,每个Section可以包含多个Row(单元格)。在Swift中,我们通常使用`UITableViewDataSource`协议来定义Section和Row的数量以及它们的内容。 实现TableViewSection的...
UITableView的分组显示效果,适合初学者,主要学习UITableView展开和收缩分组,读取项目plist配置文件用于分组表格的数据来源,自定义table的分区head控件,自定义table的cell数据显示,非常不错的效果
确保在`tableView(_:willDisplay:forRowAt:)`或`tableView(_:didSelectRowAt:)`方法中,根据需要更新`cell.cornerRadius`以实现动态调整圆角大小的功能。 ```swift func tableView(_ tableView: UITableView, will...
在这个项目中,我们关注的是如何实现“TableView 控件 仿QQ分组”,即模仿QQ应用中的好友列表,通过分组来组织和展示信息。这个功能通常涉及到以下几个关键知识点: 1. **分组(Section)与单元格(Cell)**: - `...
在处理分组数据时,我们可能会遇到一个常见的问题,即分组TableView的分割线显示不正常,例如在某些情况下,分组间的分割线可能会重叠或者缺失,影响了用户体验。`swift-GroupTableSeparatorFix`项目就是为了优化这...
BMChineseSort是一个为模型、字典、字符串数组根据特定中文属性基于tableview分组优化的工具类,基于异步、多线程降低排序时间。 对于多音字的问题,开放了一个映射属性,可手动修改个别多音字或你想要的映射关系。 ...
`ios-TableviewGroup阴影加圆角.zip`这个资源包显然关注的是如何为UITableView的每个Section添加圆角和阴影效果,以提升用户界面的美观性和用户体验。我们将深入探讨如何实现这一功能。 首先,我们来了解...
在iOS开发中,我们经常需要处理复杂的用户界面布局,其中一种常见的需求是将TableView与CollectionView结合使用,以创建类似时间轴的效果,展示具有分组和嵌套内容的信息。`DWTableView_Collection`项目就是针对这一...
- `numberOfSections(in tableView:)`:返回分组的数量。 - `tableView(_:numberOfRowsInSection:)`:返回指定分组中的行数。 - `tableView(_:titleForHeaderInSection:)`:返回指定分组的头部标题。 - `...
- `tableView:numberOfRowsInSection:`:返回指定分组内的城市数量,即数据模型数组的长度。 4. **创建Cell**:实现`tableView:cellForRowAtIndexPath:`方法,为TableView创建并配置Cell。每个Cell通常会包含一个...
例如,`numberOfRows(inGroup:)`方法返回特定分组中可见的行数,`cellForRowAt:`方法根据分组的状态返回不同的Cell。 3. **处理点击事件**:为UITableView添加手势识别器或者在`didSelectRowAt:`方法中监听用户点击...
在Android开发中,我们经常需要实现类似iOS中的TableView效果,即具有清晰分组的列表视图。本教程将深入探讨如何通过重写Adapter来达到这一目标,主要关注ListView的使用和适配器的定制。 首先,`ListView`是...
Qt Quick Control1中 从5.1版本开始就提供了表格控件,但是感觉不怎么好用,在Qt Quick Control2中 5.12版本开始又提供了一个专门用于做表格的控件TableView,相比于前面的方案,使用Tableview更加简单和直接。...