最近在 Appkit 上实现了一个类似 Reeder 里 Large Title 的效果,具体的代码其实不算特别复杂,这里就简单记录一下思路。
- 首先有个 CollectionView,但是需要留空一段距离给 Large Title。
- 给 Large Title 准备两套 Auto layout,一套是在 NSScrollView 的上方,另一套是在整个 View 的顶部,在 NSScrollview 滚动的时候切换。
- 在 NSScrollView 向下滚动的时候给 HeaderView 的 Height Constant 添加相对应的滚动距离。
- 通过 didLiveScrollNotification 这个通知获取 NSScrollView 的滚动状态和滚动距离。