`
rayln
  • 浏览: 433897 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

TableView分组Group写法

 
阅读更多
需要多实现方法
首先需要在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
分享到:
评论

相关推荐

    tableView分组、刷新

    2. 实现UITableViewDataSource协议:你需要实现`numberOfSectionsInTableView:`方法返回分组的数量,以及`tableView:numberOfRowsInSection:`方法返回每个分组中的行数。同时,还需提供`tableView:...

    swift语言 tableView 分组、增加.zip

    实现`tableView(_:viewForHeaderInSection:)`方法,返回一个UIView实例,作为分组的头部。 ```swift func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -&gt; UIView? { let ...

    tableView分组

    `tableView分组`是UITableView的一种高级用法,允许我们将数据按照逻辑分组显示,这样可以更好地组织和呈现信息。下面将详细介绍如何实现UITableView的分组功能,并通过一个简单的`GroupDemo`来阐述其核心概念。 ...

    给tableview分组添加阴影效果

    给tableView的分组添加阴影效果可以增强界面的层次感和视觉吸引力。本篇将详细介绍如何为tableView的一个section整体添加阴影效果,以及相关的实现原理。 首先,我们需要理解UITableView的基本结构。UITableView由...

    TableView之二分组(汽车案例)

    在本案例“TableView之二分组(汽车案例)”中,我们将深入探讨如何使用TableView实现数据的分组显示,以及如何有效地封装数据模型,以便更好地管理和操作数据。这个实战项目可能涉及到Swift编程语言和UIKit框架,特别...

    ios-简单的tableView的分组效果.zip

    本项目"ios-简单的tableView的分组效果.zip"旨在实现一个基本的分组式UITableView,模仿聊天软件的界面布局,虽然界面设计简单,甚至有些朴素,但其核心在于功能的实现。 首先,我们要理解UITableView的基本结构。...

    TableView 分组显示数据并且展开收缩的drop效果

    UITableView的分组显示效果,适合初学者,主要学习UITableView展开和收缩分组,读取项目plist配置文件用于分组表格的数据来源,自定义table的分区head控件,自定义table的cell数据显示,非常不错的效果

    TableViewSection展开隐藏

    TableViewSection是UITableView中的一个逻辑分组,每个Section可以包含多个Row(单元格)。在Swift中,我们通常使用`UITableViewDataSource`协议来定义Section和Row的数量以及它们的内容。 实现TableViewSection的...

    TableView分组显示数据和展开收缩的drop效果

    UITableView的分组显示效果,适合初学者,主要学习UITableView展开和收缩分组,读取项目plist配置文件用于分组表格的数据来源,自定义table的分区head控件,自定义table的cell数据显示,非常不错的效果

    ios调整tableview圆角的大小及每行的细线

    确保在`tableView(_:willDisplay:forRowAt:)`或`tableView(_:didSelectRowAt:)`方法中,根据需要更新`cell.cornerRadius`以实现动态调整圆角大小的功能。 ```swift func tableView(_ tableView: UITableView, will...

    TableView 控件 仿QQ分组

    在这个项目中,我们关注的是如何实现“TableView 控件 仿QQ分组”,即模仿QQ应用中的好友列表,通过分组来组织和展示信息。这个功能通常涉及到以下几个关键知识点: 1. **分组(Section)与单元格(Cell)**: - `...

    swift-GroupTableSeparatorFix分组TableView分割线优化

    在处理分组数据时,我们可能会遇到一个常见的问题,即分组TableView的分割线显示不正常,例如在某些情况下,分组间的分割线可能会重叠或者缺失,影响了用户体验。`swift-GroupTableSeparatorFix`项目就是为了优化这...

    BMChineseSort:BMChineseSort是一个为模型、字典、字符串数组根据特定中文属性基于tableview分组优化的工具类,基于异步、多线程降低排序时间

    BMChineseSort是一个为模型、字典、字符串数组根据特定中文属性基于tableview分组优化的工具类,基于异步、多线程降低排序时间。 对于多音字的问题,开放了一个映射属性,可手动修改个别多音字或你想要的映射关系。 ...

    ios-TableviewGroup阴影加圆角.zip

    `ios-TableviewGroup阴影加圆角.zip`这个资源包显然关注的是如何为UITableView的每个Section添加圆角和阴影效果,以提升用户界面的美观性和用户体验。我们将深入探讨如何实现这一功能。 首先,我们来了解...

    DWTableView_Collection:TableView分组嵌套Collection,实现时间轴分组

    在iOS开发中,我们经常需要处理复杂的用户界面布局,其中一种常见的需求是将TableView与CollectionView结合使用,以创建类似时间轴的效果,展示具有分组和嵌套内容的信息。`DWTableView_Collection`项目就是针对这一...

    自定义分组列表table view

    - `numberOfSections(in tableView:)`:返回分组的数量。 - `tableView(_:numberOfRowsInSection:)`:返回指定分组中的行数。 - `tableView(_:titleForHeaderInSection:)`:返回指定分组的头部标题。 - `...

    解析城市列表 TableView

    - `tableView:numberOfRowsInSection:`:返回指定分组内的城市数量,即数据模型数组的长度。 4. **创建Cell**:实现`tableView:cellForRowAtIndexPath:`方法,为TableView创建并配置Cell。每个Cell通常会包含一个...

    tableview展开

    例如,`numberOfRows(inGroup:)`方法返回特定分组中可见的行数,`cellForRowAt:`方法根据分组的状态返回不同的Cell。 3. **处理点击事件**:为UITableView添加手势识别器或者在`didSelectRowAt:`方法中监听用户点击...

    重写Adapter实现Ios TableView效果

    在Android开发中,我们经常需要实现类似iOS中的TableView效果,即具有清晰分组的列表视图。本教程将深入探讨如何通过重写Adapter来达到这一目标,主要关注ListView的使用和适配器的定制。 首先,`ListView`是...

    QML TableView Demo演示示例

    Qt Quick Control1中 从5.1版本开始就提供了表格控件,但是感觉不怎么好用,在Qt Quick Control2中 5.12版本开始又提供了一个专门用于做表格的控件TableView,相比于前面的方案,使用Tableview更加简单和直接。...

Global site tag (gtag.js) - Google Analytics