UITableViewStylePlain与UITableViewStyleGroup样式的对比

一、UITableViewStylePlain

1.有多段时 段头停留(自带效果)

2.没有中间的间距和头部间距(要想有的重写UITableViewCell \UITableViewHeaderFooterView里面的setFrame方法)

扩展:让段头不停留(取消粘性效果)

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {

CGFloat sectionHeaderHeight = 30;

if (scrollView.contentOffset.y<=sectionHeaderHeight&&scrollView.contentOffset.y>=0) {

scrollView.contentInset = UIEdgeInsetsMake(-scrollView.contentOffset.y, 0, 0, 0);

} else if (scrollView.contentOffset.y>=sectionHeaderHeight) {

scrollView.contentInset = UIEdgeInsetsMake(-sectionHeaderHeight, 0, 0, 0);

}

}

二、UITableViewStyleGroup

注意:去掉头部和中间间隔

正确的理解方法

1.设置标头的高度为特小值 (不能为零 为零的话苹果会取默认值就无法消除头部间距了)

UIView *view = [[UIView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 0.001)];
view.backgroundColor = [UIColor redColor];
self.tableView.tableHeaderView = view;

2.写代理方法(中间的留白其实是段尾的高度 代理的作用设置段尾的高度 返回值也不能为0)

-(CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section
{
return 0.01f;
}

特殊的处理方法也能实现该效果

1.    self.tableView.contentInset = UIEdgeInsetsMake(-44, 0, 0, 0);

2.重写UITableViewHeaderFooterView的

-(void)setFrame:(CGRect)frame{
frame.size.height+=10;
[super setFrame:frame];

}

时间: 2024-12-28 19:27:04

UITableViewStylePlain与UITableViewStyleGroup样式的对比的相关文章

js操纵css样式

操作元素的Style样式属性 1.格式对比: 演示代码: css样式属性: background-color color font font-family font-weight ..... JS样式属性: style.backgroundColor style.color style.font style.fontFamily style.fontWeight ..... 2.使用DOM的style对象 javascript样式表分为:内嵌式样式表:内联式样式表:外联式样式表. 操作元素的st

使用UITableView的分组样式

分组样式顾名思义是对TableView中的数据行进行分组处理,每个分组都有一个header和footer. TableView中header的英文文本是大写的,footer的英文文本是小写的.如下图浅灰色区域就是header和footer. header的作用更像是标题,而footer则是详细描述信息 在之前的文章中我们创建的TableView样式是UITableViewStylePlain,分组样式可以使用UITableViewStyleGrouped创建: 设置UITableView的hea

UITableViewCell的几种样式

一.系统自己的UITableView样式有两种: 1.UITableViewStylePlain: Plain样式的是方形的,充满你给的view.frame坐标. 2.UITableViewStyleGrouped: Grouped样式主要是以圆角形显示.跟iphone自带的通讯录编辑页面类似. 二.系统自己的UITableViewCell样式有四种: 1.UITableViewCellStyleDefault: Default样式:左边一个显示图片的imageView,一个标题textLabe

iOS回顾笔记(07) -- UITableView的使用和性能优化

iOS回顾笔记(07) -- UITableView的使用和性能优化 如果问iOS中最重要的最常用的UI控件是什么,我觉得UITableView当之无愧!似乎所有常规APP都使用到了UITableView.下面就讲一讲UITableView的常用知识和使用原理及性能优化! 1.简介 UITableView故名思议是一种表格控件,是iOS应用中常用的表格控件.常见UITableView如图: UITableView继承于UIScrollview,因此它默认支持垂直滚动(只支持垂直滚动) UITab

表格视图UITableView

(一)UITableView内部自动封装了一套复用机制.会让空闲的cell进入可重用线程池,当有新的cell出现会先去线程池中找有没有可复用的,没有才会创建.假如有100组数据,需要100个cell,但是手机上每屏只能放下10个,其实这时候只需创建11个cell就够用了.每一个数据模型就是一个cell.通过数据源方法来对每个cell进行数据设置.通过代理方法设置关于tableView的头,尾等视图设置. (二)tableView有两种样式:UITableViewStylePlain和UITabl

IOS中UITableview的两种Header view

UITableview中可以通过 1 UITableView *_tableView; 2 _tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height) style:UITableViewStyleGrouped]; 来生成一个表格,在style中有两个类型可以选择 1 typedef NS_ENUM(NSInteg

UITableView属性和方法

1.初始化一个UITableView 1 - (id)initWithFrame:(CGRect)frame style:(UITableViewStyle)style 1 struct CGRect { 2 CGPoint origin; 3 CGSize size; 4 }; 5 typedef struct CGRect CGRect; 1 typedef enum { 2 UITableViewStylePlain, //平铺样式 3 UITableViewStyleGrouped //

Linux操作系统的管理(操作系统与服务器)二

在众多的操作系统里为什么有些操作系统能够脱颖而出呢?很多人不知道这些操作系统不仅仅只是我们在电脑上安装,然后玩游戏.看电影.办公用的.每种操纵系统都有他们的作用透过这些操作系统我来给大家介绍几种"电脑". 世界上第一台电子计算机是阿塔纳索芙-贝瑞计算机,1949年美国宾夕法尼亚大学经过了几年的努力才研究出了世界上第二台电子计算机埃尼阿克.在当时埃尼阿克长30.48米宽1米,占地面积约170平方米,30个操作台,重30多吨,耗电量150千瓦,造价48万美元,它包含17468根真空管.72

[IOS] - UITableView 与 UICollectionView API及其使用

UITableView 表视图 是IOS使用非常频繁的布局视图 UITableView 什么样子呢? 一般用在什么地方呢?看下边的图 像是电话薄,好友列表 这种列表排列的视图一般都是使用UITableView实现的 UITableView 一共包含两种内置的布局格式: UITableViewStylePlain 普通的表格样式(默认) UITableViewStyleGrouped 带有分组的表格样式 在项目中如何使用UITableView,UITableView相较于其他基础视图对象使用还是稍