IOS tableView的基本使用

tableView  Style:Plain(头部标题 向上移 不会消失)

tableView  Style:Grouped(头部标题 向上移 会 消失)

#import "ViewController.h"
#import "carGroup.h"

@interface ViewController ()<UITableViewDataSource>
@property (weak, nonatomic) IBOutlet UITableView *tableView;

@property(nonatomic,strong) NSArray *carGroups;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    //设置数据源
    self.tableView.dataSource=self;
}

//隐藏状态栏
-(BOOL)prefersStatusBarHidden
{
    return  YES;
}

-(NSArray *)carGroups
{
   if(_carGroups==nil)
   {
       //初始化
       //德系品牌
       carGroup *car1=[[carGroup alloc]init];
       car1.title=@"德系品牌";
       car1.desc=@"德系品牌很好";
       car1.cars[email protected][@"奥迪", @"宝马", @"奔驰",];
       //日系品牌
       carGroup *car2=[[carGroup alloc]init];
       car2.title=@"日系品牌";
       car2.desc=@"日系品牌很好sssss";
       car2.cars[email protected][@"本田", @"丰田"];
       //欧系品牌
       carGroup *car3=[[carGroup alloc]init];
       car3.title=@"欧系品牌";
       car3.desc=@"欧系品牌很好yyyyyy";
       car3.cars[email protected][@"法拉力", @"兰博基尼",];
       [email protected][car1,car2,car3];
   }
    return _carGroups;
}

/**一共有多少组数据*/
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{

    return self.carGroups.count;
}

/**第section组有多少行*/
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    //取得第section级对应的模型
    carGroup *cg=self.carGroups[section];
    return cg.cars.count;
}

/**每一行显示怎样的内容(cell)*/
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
//    UITableViewCell *cell=[[UITableViewCell alloc]initwithStyle:UITableViewCellStyleDefault reuseIdentifier:nil];

    UITableViewCell *cell=[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil];

    //取出 模型indexpath.section组对应的模型
    carGroup *cg=self.carGroups[indexPath.section];
    //取车第indexpath.row这行对应的品牌名称
    NSString *car=cg.cars[indexPath.row];

    //设置cell显示的文字
    cell.textLabel.text=car;

    return cell;
}

/**第section组显示怎样的头部标题*/
-(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
    carGroup *cg=self.carGroups[section];
    return cg.title;
}
/**第section组显示怎样的尾部标题*/
-(NSString *)tableView:(UITableView *)tableView titleForFooterInSection:(NSInteger)section
{
    carGroup *cg=self.carGroups[section];
    return cg.desc;

}
时间: 2024-10-20 09:43:59

IOS tableView的基本使用的相关文章

iOS tableview

每个section的row数量(都是从0下标开始) (http://blog.csdn.net/hmt20130412/article/details/20831377) iOS tableview,布布扣,bubuko.com

iOS tableview cell 的展开收缩

iOS tableview cell 的展开收缩 #import "ViewController.h" @interface ViewController ()<UITableViewDataSource,UITableViewDelegate>{ NSMutableArray *_allArray;//创建一个数据源数组 NSMutableDictionary *dic;//创建一个字典进行判断收缩还是展开 } @property (nonatomic,strong)UI

iOS TableView实现QQ好友列表(三)

上节我们讲到如何展示好友信息 iOS TableView实现QQ好友列表(二) http://blog.csdn.net/lwjok2007/article/details/46549111 接下来我们将分组点击的时候折叠起来. 首先新建一个可变字典用来存储当前列表是否展示 NSMutableArray *selectedArr;//控制列表是否被打开 selectedArr=[[NSMutableArray alloc]init]; 根据前两节所讲,我们讲分组名称放在section的heade

[IOS Tableview] cell自定义view显示错误问题

问题介绍:按照tableviewcell的tag自定义cell的view显示的时候,会出现拖动时显示错误情况. 我做的是一个下载界面,我为了简化问题,就把问题设定为,tag==1的cell已下载,加载时就把已下载的cell的label显示为蓝色.其余默认为黑. 比如我在代码里,想要tag==1的cell的label字体为蓝色,这样写就会出现上下拖动时tag==11的也出现蓝色(视具体情况而定). if([cell.tag==1){ //tag==1就把label显示为蓝色 cell.label.

IOS TableView详解(一)

先考虑tableView中的cell,是变高还是等高,这个很重要,先考虑等高的情况: 一.cell等高 1. 新建一个类,使其继承UITableViewCell类,然后记得创建一个绑定的Xib文件 如果cell等高的话,那说明cell中的宽度已确定,高度也确定,那么最好先将xib中的cell的设计图扩大到实际的大小,这样才能看到真正的情况,这时候因为cell中的宽度,高度也确定,相当于一个宽高确定的View,所以,可以通过cell的右边界和下边界来限制里面的view 2.在tableView所在

iOS Tableview侧滑删除和移动cell的实现

慕课网上学习了tableview的使用,突然让我觉得iOS比android简单多了,可能是我的感觉吧.因为android实现list view侧拉删除,动态移动item过程还是稍微有点复杂的.但是iOS却只需要重写几个方法就可以实现了.我只能说iOS太神奇!我就跟着做了一下. 项目地址:Todo 看效果,UI还可以.先上storyboard结构图: navigate controller 实现一个导航栏.view controller 实现一个tableview,tableviewCell .

iOS -- tableView顶部留白

最近iOS 11 下来之后需要适配系统,故此测试系统发现同一种机器上tableView与顶部控件,或者导航栏之间的有大量的留白: 这个问题是有的界面有,有的界面无: 修改与导航栏或者其他控件之间的距离也没有什么用: 具体如下: 最后发现是因为没有设置tableView的头视图的问题: 以前如果不设置默认为空,现在要专门设置为空才行解决方法如下 #pragma mark 此方法加上是为了适配iOS 11出现的问题 - (UIView *)tableView:(UITableView *)table

iOS TableView多选删除理解2

因为镔哥学习iOS也不是很长时间,所以对很多控件都是一边工作一边学习,现在最近因为项目需求又研究了一下多选删除,其实网上很多这样的demo,但是基本不是纯代码,而且很多方面没有考虑,然后我自己理解上又根基一些demo,自己先了一个,供大家一起学习. 我讲解一下思路就直接代码吧: 思路:一般要实现多选删除 1:前提你要有数据: NSMutableArray *dataArray;//临时用假数据代替 2:你也要有一个存储勾选删除的数据 NSMutableArray *removeList;//勾选

ios tableView那些事

iOS开发很重要的一个功能就是tableView,可以说熟练使用tableView是iOS开发必修的课程,网上很多相关介绍,推荐一个博客参考一下: http://blog.csdn.net/lengshengren/article/details/10439637 相关博客35篇.

IOS TableView详解

一.建立 UITableView DataTable = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, 420)]; [DataTable setDelegate:self]; [DataTable setDataSource:self]; [self.view addSubview:DataTable]; [DataTable release]; 二.UITableView各Method说明 //Section总数 - (NS