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

Swift 探索 UICollectionView 之 SupplementaryView 和 Decoration View

来表示3.注册视图的标识符,用于 UICollectionView加载视图的时候能分辨加载的是 header 还是 footer 还是普通的 cell 第二个方法是 UICollectionViewDataSource...Decoration View Decoration View 翻译过来就是装饰视图,顾名思义,它的作用就是用来美化 UICollectionView,提高用户体验的。..., forDecorationViewOfKind elementKind: String) 通常情况下,在需要用到装饰视图的时候,都会去重写 UICollectionViewFlowLayout,然后在它的子类中去注册装饰视图...中添加装饰视图。...UIGestureRecognizer 手势拖拽 在 iOS9 之后,UICollectionView 的属性自带重新排序的效果,这里不得不提 Apple 为 UICollectionView 推出的几个重要方法

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

iOS---UICollectionView详解和常用API翻译

Collection View的构成,我们能看到的有三个部分: Cells Supplementary Views 追加视图 (类似Header或者Footer) Decoration Views 装饰视图...(用作背景展示) 一、UICollectionViewLayout UICollectionView的精髓 Layout决定了UICollectionView是如何显示在界面上的。...中的所有的元素的布局属性 /* 返回的是包含UICollectionViewLayoutAttributes的NSArray UICollectionViewLayoutAttributes可以是cell,追加视图装饰..._)kind atIndexPath:(NSIndexPath *)indexPath // 返回对应于indexPath的位置的装饰视图的布局属性,如果没有装饰视图可不重载 -(UICollectionViewLayoutAttributes...如果YES则在边界变化(一般是scroll到其他地方)时,将重新计算需要的布局信息。

2.1K110

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

Views 追加视图 如果你对UITableView比较熟悉的话,可以理解为每个Section的Header或者Footer,用来标记每个section的view     • Decoration Views...装饰视图 这是每个section的背景,比如iBooks中的书架就是这个         不管一个UICollectionView的布局如何变化,这三个部件都是存在的。...        对于Decoration Views,提供方法并不在UICollectionViewDataSource中,而是直接在UICollectionViewLayout类中的(因为它仅仅是视图相关...加载过程         总的加载过程是先加载UICollectionView的委托回调配置,再初始化UICollectionViewCell。     ...objectAtIndex: indexPath.row];     return cell; } 2.3 UICollectionViewCell重用         UICollectionViewCell其实实例化了能应付一屏显示范围的对象实例

35830

(转)iOS开发之UICollectionViewController系列(一) :Ready CollectionViewController

在一些开源社区上分享的效果比较炫的代码,有不少是使用UICollectionView做的,UICollectionViewController是很实用的,很有必要好好的搞一下。 一....当创建自定义视图控制器或者展示控制器时,你可以重写默认的实现方法来调整你视图控制器的内容。例如,你可以使用该方法来调整子视图控制器的大小或位置。...UICollectionViewController的实现行为 如果你的集合视图控制器与nib文件或者Storyboard进行了绑定,那么他的视图将会从nib文件或者Storybaord中进行加载。...2.当从nib文件或者Storyboard中加载集合视图时,集合视图的数据源(Data source)和代理对象(Delegate Object)是从nib或者Storyboard中获取的。...3.当集合视图首次出现时会重新加载上面的数据。当视图每次显示时,也会清除当前的选择。不过你可以把属性clearsSelectionOnViewWillAppear设置成NO来改变这种行为。

5.5K40

iOS开发之窥探UICollectionViewController(一) -- Ready Your CollectionViewController

在一些开源社区上分享的效果比较炫的代码,有不少是使用UICollectionView做的,UICollectionViewController是很实用的,很有必要好好的搞一下。 一. ...如果你的集合视图控制器与nib文件或者Storyboard进行了绑定,那么他的视图将会从nib文件或者Storybaord中进行加载。...2.当从nib文件或者Storyboard中加载集合视图时,集合视图的数据源(Data source)和代理对象(Delegate Object)是从nib或者Storyboard中获取的。...3.当集合视图首次出现时会重新加载上面的数据。当视图每次显示时,也会清除当前的选择。不过你可以把属性clearsSelectionOnViewWillAppear设置成NO来改变这种行为。...*)collectionView { return 1; } (2) 返回每个Section中Cell个数的方法 - (NSInteger)collectionView:(UICollectionView

1.6K60

iOS流布局UICollectionView系列一——初识与简单使用UICollectionView

iOS流布局UICollectionView系列一——初识与简单使用UICollectionView 一、简介         UICollectionView是iOS6之后引入的一个新的UI控件,它和...同样,如果内容的大小超出一屏,和tableView类似是可以进行视图滑动的。...//其中第二个参数是设置 头视图或者尾视图 系统为我们定义好了这两个字符串 //UIKIT_EXTERN NSString *const UICollectionElementKindSectionHeader...//将某一item取消选中 - (void)deselectItemAtIndexPath:(NSIndexPath *)indexPath animated:(BOOL)animated; //重新加载数据...- (void)reloadData; //下面这两个方法,可以重新设置collection的布局,后面的方法多了一个布局完成后的回调,iOS7后可以用 //使用这两个方法可以产生非常炫酷的动画效果

2.7K20

WWDC2016 Session笔记 - iOS 10 UICollectionView新特性

在可以滑动的视图里面,必须要更加丝滑柔顺才能获得用户的青睐。这些UICollectionView的新特性可以让你们的app比原来更加顺滑,而且这些特性只需要你加入少量的代码即可达到目的。...这时我们每次加载一个cell,而不是每次加载一行的cell。当第一个cell准备好之后再叫第二个cell准备。...Interactive Reordering 谈到重新排列,这是我们就需要类比一下UITableView了,UICollectionView重新排列就如同UITableView 把cell上下移动,只不过...在上图中,我们可以看到,我们即使任意拖动cell,整个界面也会重新排列,并且我们改变了cell的大小,整个 UICollectionView 也会重新动态的布局。...UICollectionView 就会放下cell,处理完整个layout,此时你也可以重新刷新model或者处理数据model。

1.9K30

手把手带你撸一个网易云音乐首页(三)

在我们实际开发过程中,数据请求的操作必不可少,必须要先将数据提供给 ViewModel,然后在数据更新时重新 Reload TableView。...,如果直接调用 cornerRadius 和 masksToBounds 这俩个方法设置圆角就会出现离屏渲染,况且我们的首页有很多圆角视图,到时候首页加载显示就会感受到明显的卡顿,这样的体验可不好!...而且使用这俩个方法也无法为视图指定设置圆角的方位,是要左上角呢还是右下角? 上面讲到为视图设置圆角一不小心就会造成离屏渲染,那么这个问题该如何解决呢!...这里我想了一个比较好的办法,只需要调用一次绘制方法即可,那就是将我们的 headView 实现在我们的 tableViewCell 中,如下所示: image 另外,因为每个 Section 都有 headView...在网易云音乐首页的最顶层有一个视图视图包含的内容有三部分:左按钮,搜索框,右按钮,这种结构很容易让我们联想到 UINavigationItem。

2.2K10

Swift 自定义布局实现 Cover Flow 效果

写在开头 大家早上好,今天我又给大家带来了一篇关于 UICollectionView 系列的文章,在上一篇文章中,我们实现了一个酷炫的瀑布流布局,带大家初步的了解了在 UICollectionView...的滚动方向是横向的 随着 UICollectionView 滚动,Cell 会自动的进行缩放,当 Cell 的中心点与 UICollectionView 的中心点重合时放大,偏离中心点时缩小 Cell...首先,要实现 UICollectionView 支持横向滚动,很简单,仅需要设置 UICollectionFlowLayout 布局对象中的 scrollDirection 为 horizontal...读过我前几篇 UICollectionView 系列的小伙伴们,不知道你们还有没有印象,我写过一篇教程叫做 "使用 UICollectionView 实现分页滑动效果" 这里附上链接(使用 UICollectionView...minimumLineSpacing)) - minimumLineSpacing, height: 0) } } 衔接 UIViewController Cover Flow 的自定义布局已经实现好了,那剩下的就是在视图控制器中呈现了

1.6K20

(转)iOS开发之UICollectionViewController系列(三) :UICollectionView自定义瀑布流

1.布局预加载函数 当布局首次被加载时会调用prepareLayout函数,见名知意,就是预先加载布局,在该方法中可以去初始化布局相关的数据。...该方法类似于视图控制器的ViewDidLoad方法,稍后回用到该方法。...1.重写prepareLayout方法去初始化一些数据,该方法在CollectionView重新加载时只会调用一次,所以把一些参数的配置,计算每个Cell的宽度,每个Cell的高度等代码放在预处理函数中...SCREEN_WIDTH, height); } 3.下面的方法是为每个Cell去绑定一个UICollectionViewLayoutAttributes对象,并且以数组的形式返回,在我们的自定义瀑布流中,我们自定义了...min = temp; minIndex = i; } } return minIndex; } 自定义集合视图控制器布局第一阶段就先到这

5.9K40

WWDC20中iOS的改变

,创建可以展开/收起的轮廓界面,并向你介绍如何使用复合式界面的创建列表,并打造出带有网格视图、类似UITableView的界面。...10027 - Modern cell configuration介绍是网络视图与列表视图单元格的最新配置技巧 Discuss WWDC20 Session 10045 - Advances in diffable...在刷新数据源时,只要重新计算diff,计算进行局部刷新,可以大大提高UICollectionView的性能。...id=d9kd3m7g 看一下Session和Video,我这里提到了部分更新,其实WWDC19 + 20 关于CollectionView的改造还是比较多的。...9823657014 10.Swift 最后,事实上,这一次的WWDC介绍了大量的Swift的内容,这里没有涉猎,网上有很多相关的内容,可以看出Swift早晚会转正,而且内容会更加完善,例如App Clip

1.7K10

iOS开发之窥探UICollectionViewController(三) --使用UICollectionView自定义瀑布流

1.布局预加载函数 当布局首次被加载时会调用prepareLayout函数,见名知意,就是预先加载布局,在该方法中可以去初始化布局相关的数据。...该方法类似于视图控制器的ViewDidLoad方法,稍后回用到该方法。...1.重写prepareLayout方法去初始化一些数据,该方法在CollectionView重新加载时只会调用一次,所以把一些参数的配置,计算每个Cell的宽度,每个Cell的高度等代码放在预处理函数中...SCREEN_WIDTH, height); 9 } 3.下面的方法是为每个Cell去绑定一个UICollectionViewLayoutAttributes对象,并且以数组的形式返回,在我们的自定义瀑布流中,我们自定义了...temp; 18 minIndex = i; 19 } 20 } 21 22 return minIndex; 23 } 自定义集合视图控制器布局第一阶段就先到这

1.3K100

精品资源汇总:(持续更新)

点击上方蓝字关注我们 引言 欢迎大家来到#公众号:iOS逆向的《精品资源汇总》目录 本文列出最受欢迎的资源,以便供大家快速查找自己所需的资料 文中的蓝字都是超级链接,点击进入即可 I、iOS自定义视图相关热门资源...iOS 自定义视图:《用户协议及隐私政策》弹框(包含超链接属性)【demo源码支持中英文切换】 1、原理文章:https://blog.csdn.net/z929118967/article/details...kunnan.blog.csdn.net/article/details/104796781 2、功能:采集电子签名,支持签名界面为横屏其余页面都是竖屏、清除重写、灵活控制提示语信息、以及查看商户协议 3、核心原理:旋转特定的屏幕...4、核心步骤:1、viewWillAppear设置横屏2、viewWillDisappear 设置竖屏 5、用法简单:采用block回调电子签名图片 UICollectionView的自适应案例详解...特色功能:在更新数据期间旋转tabbar的icon blink https://blink.csdn.net/details/1175811 VI 、HTML字符串与富文本互转 HTML字符串与富文本互转(加载本地

1K30

RunLoop总结:RunLoop的应用场景(三)滚动视图流畅性优化

因为跟UITableView、UICollectionView等的滑动优化有关,就顺便总结一下会影响UITableView、UICollectionView视图滑动流畅的因素。...维基百科中的Event loop(可以看看这篇文章了解一下事件循环) 应用场景 让UITableView、UICollectionView等延迟加载图片。...屏幕一秒钟会刷新60次(屏幕在一秒钟会重新渲染60次),那么每次刷新界面之间的处理时间,就是1/60,也就是1/60秒。也就是说,所有会导致计算、渲染耗时的操作都会影响UITableView的流畅。...下面举例说明: 1.在主线程中做耗时操作 耗时操作,包括从网络下载、从网络加载、从本地数据库读取数据、从本地文件中读取大量数据、往本地文件中写入数据等。...但是到了iOS8,不会再缓存Cell的高度了,也就是说每次滑到某个Cell,代理方法都会执行一次,重新计算这个Cell的高度(iOS 9以后没测试过)。

2.1K41

django 1.8 官方文档翻译: 3-2-3 TemplateResponse 和 SimpleTemplateResponse

using 加载模板使用的模板引擎的名称。 Changed in Django 1.8: 添加charset 和using 参数。...using 加载模板使用的模板引擎的名称。 Changed in Django 1.8: 添加charset 和using 参数。...如果你想强制重新渲染内容,你可以重新计算渲染的内容并手工赋值给响应的内容: # Set up a rendered TemplateResponse >>> from django.template.response...如果你正在使用中间件,解决办法很容易。中间件提供多种在从视图退出时处理响应的机会。如果你向响应中间件添加一些行为,它们将保证在模板渲染之后执行。 然而,如果正在使用装饰器,就不会有这样的机会。...装饰器中定义的行为会立即执行。 为了补偿这一点(以及其它类似的使用情形)TemplateResponse 允许你注册在渲染完成时调用的回调函数。

42640

直播APP开发之iOS开发中的列表优化思路

而对于iOS开发,列表就是我们常说的UITableView / UICollectionView。在进行直播APP开发时针对于列表的优化自然是必不可少的。...(2) 减少视图数目。我们在cell上添加系统控件的时候,实际上系统都会调用底层的接口进行绘制,大量添加控件时,会消耗很大的资源并且也会影响渲染的性能。...我们时常会看到这样一个现象,就是加载时整个页面卡住不动,怎么点都没用,仿佛死机了一般。原因是主线程被阻塞了。...所以对于网路数据的请求或者图片的加载,我们可以开启多线程,将耗时操作放到子线程中进行,异步化操作。 (4) 按需加载。...滑动很快时,加载目标范围内的cell,这样按需加载(配合SDWebImage),极大提高流畅度。

1.1K30
领券