这个项目是[@jamztang](https://github.com/jamztang)开源项目[CSStickyHeaderFlowLayout](https://github.com/jamztang/CSStickyHeaderFlowLayout)的Swift版本
使用`UICollectionView`替换`UITableView`, 实现`UITableView`的功能。可以实现`UITableView`在plain模式下section header的悬停效果,同时增加了具有视差效果的顶部视图parallax header。
RLStickyHeaderFlowLayout 是支持Carthage的,只需要在自己的Cartfile中添加如下代码即可:
github "Roylee-ML/RLStickyHeaderFlowLayout"
关于安装使用Carthage,可以参考他人博客或者直接查看官方文档
如果在你的项目中,是用storyboard构建的collectionview。很抱歉,目前为止RLStickyHeaderFlowLayout.framework
动态库在并不能完美的支持storyboard, 因为在storyboard中创建collectionview,没有办法直接将storyboard中的flowlayout与RLStickyHeaderFlowLayout
类进行关联,即便强制修改storyboard代码设置flowlayout的customclass为RLStickyHeaderFlowLayout
,也无效(会报Unknow class RLStickyHeaderFlowLayout in interface build file
—— Storyboard无法识别这个类)。
** 不过,现在有个替代的方案可以解决storyboard中使用RLStickyHeaderFlowLayout
的问题: **
1.首先创建RLStickyHeaderFlowLayout
的一个子类,如下:
import UIKit
import RLStickyHeaderFlowLayout
class MyStickyHeaderLayout: RLStickyHeaderFlowLayout {
}
在这里只是创建
RLStickyHeaderFlowLayout
的子类就可以,其他的什么也不用写。 如果不能直接创建RLStickyHeaderFlowLayout
的子类,可以先创建UICollectionViewFlowlayout
的子类,然后手动修改。
2.找到storyboard中flowlayout的custom class选项,设置成第一步创建的类MyStickyHeaderLayout
。如果无法选择,第一步修改父类的操作可以在操作完这一步之后,再修改MyStickyHeaderLayout
的父类为RLStickyHeaderFlowLayout
。
如果你像上图中一样给storyboard中的flowlayout设置了custom class(e.g
MyStickyHeaderLayout
),然后下面的 Module 选项也不再是none了, 恭喜你,可以尽情享受UICollectionView
实现UITableView
效果的快感了。
英文: English→
RLStickyHeaderFlowLayout 是在 MIT 的协议许可下有效,更多内容请看 LICENSE 文件。