关于tableView中tableHeaderView/tableFooterView/sectionHeader/sectionFooter/contentInset的理解

其实每个人的理解有所不同,找到最有利于自己的理解方式即可.有人把Cell,tableHeaderView,tableFooterView,sectionHeader,sectionFooter这些属性理解为tableVIew的内容,其他都不是,这样理解也可以.其实,在控件的本地坐标系中,内容是没有边界的,但有可视范围,可视范围就是bounds所描述的范围.只要是添加到该控件的东西,都属于其内容.所以下面这种方式如果可以理解的话,相信在使用的过程当中会更简单!

  tableView中

  1.增加或减少Cell

  2.添加tableHeaderView或则tableFooterView

  3.添加sectionHeader或则sectionFooter

  4.添加子控件

  以上四种情况都不会改变tableView内容的原点(默认控件的左上角),也就是bounds点

  唯有改变contentInset,也就是添加内边距,会改变内容的坐标原点

  也就是bounds点(移动了内容所在的本地坐标系)

时间: 2024-10-13 01:06:46

关于tableView中tableHeaderView/tableFooterView/sectionHeader/sectionFooter/contentInset的理解的相关文章

iOS中tableview中headerview总保持在屏幕上方和随着屏幕滑动一起移动至消失

1 : tableview中headerview总保持在屏幕上方 :  在代理方法中创建view,并添加到headerview上 l例子: - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { if ([self.title isEqualToString:@"幕后"]) { NSArray *array = @[@"全部",@"

TableView中Model层数据

TableView中Model层数据 一.如果plist文件中的形式:NSArray -> NSDictionary ->NSArray 最外层的字典 + (instancetype)carGroupsWithDict:(NSDictionary *)dict { return [[self alloc] initWithDict:dict]; } - (instancetype)initWithDict:(NSDictionary *)dict { self = [super init];

iOS中关于动态Tableview中的cell数据传输的多线程问题解决之拙见

iOS中关于动态Tableview中的cell数据传输的多线程问题解决之拙见 (2015-12-05 12:48:20)[编辑][删除] 转载▼     首先我们先明确一下问题: 1.因为UI是在主线程中更新的,不能在down数据的同时显示界面,这样会使得下载的时间占用主线程,导致的后果就是你的屏幕就那样的卡死在哪了 2.如果要解觉问题1,就势必要将其下载数据的环节放在其他分线程上来实现,但是这里还会遇见一个问题,分线程的执行是不会有序的,这样,在动态显示的过 程中,cell中的数据就会混乱的变

动态切换tableView中的cell的种类

为什么要动态切换tableView中cell的种类呢?如果项目经理不出这种需求,你也就见不到这篇文章了:) 效果: 源码: 首先,你要准备3种cell,直接继承系统的就行了. // // RootViewController.m // ChangeCell // // Copyright (c) 2014年 Y.X. All rights reserved. // #import "RootViewController.h" #import "YellowCell.h&quo

处理TableView中cell不同状态切换的问题

效果 说明 有时候,我们需要处理TableView中cell的各种状态,比如选中,未选中或者无效状态等,虽然我们都可以很容易的实现出来,但是考虑到代码的可读性以及可维护性,需要进行一定的设计才行. 1. 状态需要封装在Model中,让model自己管理 2. cell只需要判断model中的状态,然后进行相应的改变即可 源码 https://github.com/YouXianMing/TableViewState // // ModelData.h // TableViewState // /

解决tableView中cell动态加载控件的重用问题

tableView的cell,有时候需要在运行时取得对应的数据后才能够动态的创建该cell中的控件并加载到该cell中,此时,你一定会遇到重用问题,即使你能做到该cell只根据数值加载了一回控件,你也没法保证不出现重用问题:) 效果(请注意查看,移动下面的格子时,上面出现了重用的问题) 源码: YXCell.h // // YXCell.h // YXTableView // // Copyright (c) 2014年 Y.X. All rights reserved. // #import

TableView 中cell间的分割线(及其他控件间(内)的分割线)设置

知识点: 1.在应用开发中,tableView中自带的分割线满足不了开发需求: 2.一些子空间中添加一些类似于分割线一样的东西等······ 补充知识点:导航条左侧或右侧的控件尽量靠近屏幕边缘设置 需求: 1.cell与cell之间需要一种白色的分割线: 2.cell的左侧能有视图标记此cell是被选中的,如下图所示: 实现方法: 1.左侧的红色选中标记: (1)左侧添加一个红色背景色的view,并设置其尺寸位置约束如下图: (2)通过代码设置其显示或隐藏的状态: 1 // 红色标记属性 2 @

3Dtouch 的实际应用详解(tableView中的应用)

3D touch也出了很长时间了,这次花时间好好研究了一下,把经验与大家分享一下 1. 主界面重按APP图标,弹出Touch菜单 1.1静态快速选项 (iOS数组)给APP指定静态主屏幕的快速选项,这个键包含了一个字典数组,每个字典包含关于一个快速选项的详细信息.你可以指定静态快速选项给你的APP用一个字典数组. UIApplicationShortcutItems (iOS数组)给APP指定静态主屏幕的快速选项,这个键包含了一个字典数组,每个字典包含关于一个快速选项的详细信息.你可以指定静态快

IOS 延时加载TableView中Cell中的图片

TableView中图片延时加载是本文要介绍的内容,经常我们会用tableView显示很多条目,有时候需要显示图片.但是一次性从服务器上取来所有图片对用户来浪费流量,对服务器也是负担,最好是按需加载,即当该用户要浏览该条目时再去加载经常我们会用tableView显示很多条目. 有时候需要显示图片, 但是一次从服务器上取来所有图片对用户来浪费流量,,对服务器也是负担.最好是按需加载,即当该用户要浏览该条目时再去加载它的图片. 重写如下方法 - (void)tableView:(UITableVie