首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【IOS开发基础系列】UICollectionView专题

1 定义 1.1 什么是UICollectionView         UICollectionView是一种新的数据展示方式,简单来说可以把他理解成多列的UITableView(请一定注意这是UICollectionView...highlightedselected两个属性表示。...• 间隔 可以指定item之间的间隔每一行之间的间隔,size类似,有全局属性,也可以对每一个item每一个section做出设定: @property (CGSize) minimumInteritemSpacing...需要注意根据滚动方向不同,headerfooter的高宽中只有一个会起作用。垂直滚动section间宽度为该尺寸的高,而水平滚动为宽度起作用,如图。     ...collectionView = [[UICollectionView alloc] initWithFrame:CGRectZero collectionViewLayout: _flowLayout]; 要点1:单元格尺寸计算要来考虑间隔线宽度的影响

35930
您找到你想要的搜索结果了吗?
是的
没有找到

Ios常用第三方框架(二)

HorizontalScrollCell - HorizontalScrollCell是一款使用方便的水平方向可滚动单元格,适用于UICollectionView中实现水片方向滚动视图。 。...LxTabBarController - 改变了原生tabbar切换tab的生硬效果,并加入滑动切换手势(有界面上的其它手势发生冲突的风险,可根据具体项目予以关闭),swift版本。...QuickRearrangeTableView - 基于 UITableView 的快速重排功能扩展子类。通过长按选定单元格然后滚动移动到指定位置。...LLNoDataView - 超简单的空数据提示通用View支持UIScrollView、UITableView、UICollectionView、UIWebView。...TYPagerController - 简单,支持定制,页面控制器,可以滚动内容标题栏,包含多种style。

7.6K60

AsyncDisplayKit 2.0 教程:入门「译」

ASTableNode 不会暴露所有UITableView的的属性,所以你必须通过 tableNode 底层的 UITableView 实例去设置 UITableView 的特殊属性。...无限滚动 在大多数应用中,服务器的数据点的个数往往会多于当前 tableView 中显示的单元格数量。这意味着,你必须通过某些手段做无缝处理,以便用户刷完当前数据列表从服务端加载新的数据。...如果返回 NO,则在到达 API 数据末尾,不会再不会发出任何请求。 因为你希望无限滚动,那就返回 YES,以确保总是请求新的数据。...那么在 node 到达该范围,就可以开始显示。 通常,该范围的前侧大于后侧。当用户改变其滚动方向,范围的大小也是相反的,以便于对应用户实际移动的方向。...更常见的做法,你只需要对某 node 的特定的状态进行更改。这就是接口的状态回调。 Node 命名 为了看到一个 node 的各种状态,给它命名很有必要的。

2.1K20

【IOS开发基础系列】Table View开发专题

,在SDK 3.0 之后,每个单元格都有3个属性textLabel,detailTextLabelimageView。         ...[self setExtraCellLineHidden: _detailTableView]; }     好像这还不够,如果TableView没有数据,会出问题,所以要在 -(NSInteger)...做到前几点后,你的table view滚动应该足够流畅了,不过你仍可能让用户感到不爽。常见的现象就是在更新数据,整个界面卡住不动,完全不响应用户请求。...例如每次载入50条信息,那就可以在滚动到倒数第10条以内,加载更多信息: - (void) tableView: (UITableView *)tableView willDisplayCell: (.../article/details/18262565 UITableVIew滚动流畅性优化 http://blog.csdn.net/enuola/article/details/41942963 uitableview

27820

【译】W3C WAI-ARIA最佳实践 -- 布局

grid 模式的使用大致可分为两类:展示表格信息(数据表格)集合其他部件(布局栅格)。尽管数据网格布局栅格使用相同的ARIA角色、状态属性,它们内容目的中的不同是考虑键盘交互设计的重要因素。...如果焦点位于列中的顶部单元格上,则焦点不会移动。 Page Down: 以开发者设定的行数移动焦点,一般滚动,当前可见行集合中的最后一行会变为第一次滚动后可见行中的一行。...Page Up: 移动焦点到开发者设定的行数,一般滚动,当前可见行集合中的第一行会变为滚动后可见行中的一行。 Home: 将焦点移动到包含焦点所在行的第一个单元格。...当使用导航键在单元格间移动焦点,它们不可用于类似操作组合框或在单元格内移动输入光标等的事情。如果需要此功能,请参阅Editing and Navigating Inside a Cell。...如果存在某些行或列在DOM中被隐藏或不存在的情况,例如当滚动自动加载数据,或者网格提供了隐藏行或列的功能,使用以下属性,如grid and table properties 所述。

6.1K50

iOS开发中行高灵活可变的UITableView的性能优化

当执行TableView的reloadData方法进行界面刷新,系统先会把所有行的行高数据拉取一遍,之后UITableViewCell配置部分的场景一直,会拉取即将出现在屏幕上的cell的行高数据。...至于为何UITableView在进行配置也需要拉取所有的行高数据,我猜想其为了进行视图的一些初始化操作,例如表视图右侧滚动条的宽度所占比例等。...并且,每次拉取高度都从代理方法拉取,而不是存入内部的一个变量属性中,避免了因为数据更改时机巧合而产生的界面与预期不一致的风险。...直接返回已经计算过的行高数据,具体如何操作比较灵活,可以对应一个数组属性,将计算后的行高放入数组中,每次取行高,检查数组中是否已经有计算过的行高数据,如果有直接返回。...estimatedRowHeight属性用于TableView进行初始化,其会影响到表格视图右侧滚动条的宽度。cell展现出来时真正的行高并不受这个属性值的影响。

1.9K20

Swift - MJRefresh库的使用详解1(配置,及库自带的下拉刷新组件)

其内容如下: #import "MJRefresh.h" 2,使用样例 下面给 tableView 添加一个下拉刷新功能,每次下拉会随机生成10条数据,并刷新表格。...(生成随机数据的时候会等待2秒,模拟网络请求)。具体效果图如下: ? 5815fb4e8c590.png (1)对于下拉的响应事件,我们可以通过设置其 target action 来关联。...loadView() { super.loadView() } override func viewDidLoad() { super.viewDidLoad() //随机生成一些初始化数据...loadView() { super.loadView() } override func viewDidLoad() { super.viewDidLoad() //随机生成一些初始化数据...5815fb4e7530d.png //隐藏时间 header.lastUpdatedTimeLabel.isHidden = true 3,隐藏所有的文字 下面把时间状态文字都给隐藏掉。 ?

5.4K31

UITableView增加删除、移动

复习一下: 1、在控制器上添加一个UITableView,  暂时该UITableView控件变量名命名为为tableView, 设置控件代理,实现控制器的UITableViewDataSource,...UITableViewDelegate协议; 2、tableView控件的editing属性默认是NO, 并且UITableViewCell默认情况下没有删除增加功能。    ...*)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath;当没有实现此方法,默认是返回 UITableViewCellEditingStyleDelete...枚举,要想实现单元格增加,就要实现此方法,并且返回UITableViewCellEditingStyleInsert枚举 然后还要设置tableView控件属性 editing 为YES, 完整代码如下...3、UITableViewCell的移动:实现一个代理方法,就可以进行单元格的移动: //实现此方法,就可以移动单元格, 方法里面是让数据样式移动保持一致 - (void)tableView:(UITableView

1.7K30

UITableView基础1. UITableView的作用2. UITableView的常用属性3. tableView展示数据三部曲4. UITableViewStyleGrouped样式5. U

UITableView的作用 以垂直滚动方式显示数据列表。 UITableView 的两种内置样式:UITableViewStylePlain UITableViewStyleGrouped 。...数据都是由dataSource提供。 要满足快速滚动,性能很重要 2....UITableView的常用属性 2.1 分割线属性 属性名称 作用 separatorStyle 分隔线样式 separatorColor 分隔线颜色 2.2 选中属性 属性名称 作用 allowsSelection...属性可设置被选中的背景颜色 属性名称 作用 UITableViewCellSelectionStyleNone 没有颜色 UITableViewCellSelectionStyleBlue 蓝色(默认...) UITableViewCellSelectionStyleGray 灰色 3. tableView展示数据三部曲 遵守数据源协议; 设置数据源 实现相应数据源方法 cell的默认高度是44,宽度

79040

iOS开发常用之网络

QuickRearrangeTableView - 基于UITableView的快速重排功能扩展子类。通过长按选定单元格然后滚动移动到指定位置。...LLNoDataView - 超简单的空数据提示通用View支持UIScrollView,UITableView,UICollectionView,UIWebView。...MediumScrollFullScreen - Medium的可扩展滚动页面,上下滚动,全屏显示内容,并自然消隐上下菜单。...仿LOL滚动视图 - 仿LOL滚动视图。 答案选择切换页 - 将scrollviewtableview封装在一起,在初始的时候简单的将数据带上,就可以一页一页的左右来回滑动。...KYAnimatedPageControl - 除了滚动视图PageControl会以动画的形式一起移动,点击目标页还可快速定位。支持两种样式:粘性小球旋转方块。

23.5K10

iOS小经验:UITableView&UICollectionView设置单元格的默认选中状态

场景需求 一个表格视图(或者宫格视图)中,当一个单元格被选中设置彩色样式,选中其它单元格设置灰色样式。 2. 一个思路 通过实现选中和非选择的代理,以在适当的时机进行UI更新操作。 3....:(NSIndexPath *)indexPath; 3.2 代码设置默认选中状态 (要等数据加载完成之后再调用) 执行方法的主体:tableview对象 //选中 - (void)selectRowAtIndexPath...UICollectionView *)collectionView didDeselectItemAtIndexPath:(NSIndexPath *)indexPath; 4.2 代码设置默认选中状态 (要等数据加载完成之后再调用...= [self.collectionView cellForItemAtIndexPath:indexPath]; [cell setSelected:YES]; 上述方案仅仅改变cell的属性...indexPathForItem:0 inSection:0] animated:YES scrollPosition:UICollectionViewScrollPositionNone]; 上述方案改变了cell的属性

3.5K50

iOS 面试策略之系统框架-UIScrollView及其子类

UITableViewDelegate 用来处理 UITableView 的 UI 交互:例如设置 UITableView 的 header footer,点击、高亮某个 UITableViewCell...比如具体 item 的尺寸大小, item 之间的间距,header footer 的大小间距,以及 UICollectionView 的滚动方向。...数据源问题。可能原因是网络请求太慢,不能及时得到相应数据;也有可能是需要更新的数据太多,主线程一处理不过来。 然后我们针对三个问题,分别去进行优化。...网络请求是一种耗时且昂贵的操作,为了提高用户体验,开发者经常运用预加载的方式提前请求,这样可以在用户滑动到列表最底部之前提前获得最新数据,无需让用户等待。这就是无限滚动列表。...该方法发生在 UICollectionView 数据准备好,但界面还未布局之时。它用于计算各种布局信息,并设定每个 item 的相关属性

2.6K21

有了Auto Layout,为什么你还是害怕写UITabelView的自适应布局?

在 tableView:heightForRowAtIndexPath: 中计算高度,是有坑的,对于刚接触iOS的攻城狮来说,几乎是难以理解的诡异问题.这里简单说两个,其他的大家可跟帖补充: 1.文字高度计算...heightForRowAtIndexPath: 中调用 tableView:cellForRowAtIndexPath: 来获取cell,然后计算cell高度.然后你会发现,凡是稍微涉及到图片显示的界面,你的显示是对的,但是滚动非常卡顿...根据单元格内容的约束自适应单元格高度 ?...UITableView-FDTemplateLayoutCell 分析很详尽,用一句总结就是: 一行代码解决cell高度动态计算问题. 3.一个关于Masonry UITableView-FDTemplateLayoutCell...示例下载地址: 点击下载 非常感谢 @未来帅哥 的讨论,给了我很大启发帮助,我也如约做了一个关于Masonry UITableView-FDTemplateLayoutCell结合使用的小例子,以解决他的问题

84860

一个多UITableview的左右滑动简单解决方案

前言 本文源自实际开发中的需求,核心的要求有几个: 1、多个UITableview要支持左右滑动; 2、点击Tab也要有UITableview的滑动切换效果; 3、每个UITableview单独的下拉刷新和上拉加载...某条.gif 正文 1、核心思路 根据要求来分析,可以采用UIScrollView作为容器,开启pageEnable属性实现左右分页,同时关闭UIScrollView的上下滑动手势(避免UITableview...self.mSegControl.selectIndex) { [self.mSegControl setSelectIndex:index]; } } } 3、注意事项 UIScrollView容器内部...解决办法:contentSize的高度设置为0,关闭vertical的滚动。...当UIScrollView直接添加到self.view的属性,如果automaticallyAdjustsScrollViewInsets为YES,会调整UIScrollView的inset以适应status

2.7K71

iOS表视图单元格高度自适应

iOS表视图高度自适应可以节省很多麻烦,尤其是涉及到复杂的业务逻辑,今天尝试了使用MasonryFDTemplatelayoutCell来布局表视图单元格,从而达到单元格高度自适应的效果,这里就总结了这其中使用的要点注意问题...首先,为了实现表视图的单元格高度自适应,我们需要用到MasonyFDTemplatelayoutCell这两个第三方的类库。同时这里使用一个简化的订单界面来说明使用,效果图如下: ?...屏幕快照 2016-11-11 下午7.23.36.png 一、MasonryFDTemplatelayoutCell实现自适应 Masnory帮助我们在单元格中设置约束,实现视图的自动布局,这里不再赘述...使用的时候关键步骤包括: 1、注册表视图的单元格 这里分为NIb文件普通类文件的单元格注册,我使用的是xib文件创建的单元格,代码如下: - (UITableView *)tableView{...返回单元格高度我们就不必计算了,使用如下的方法来返回 //单元格高度 - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath

1.7K70
领券