iOS之使用collectionView实现NavigationBar上的滚动按钮

本文适合菜鸟,大神请忽略(如果有说错了,请指出,谢谢)先说说我做的一些效果吧,我实现的效果类似于今日头条NavigationBar上面滚动按钮,被点击的按钮会滚动到中间位置。实现思路,使用collectionView来实现这样比scrollView上面直接添加按钮来的好因为考虑到复用和节省内存的缘故,弃用最初的想法——scrollView+Button。步骤如下:
1、创建UICollectionView
2、设置item自适应,这个主要考虑到每一个按钮(item)的文本内容不固定,代码如下:
iOS之使用collectionView实现NavigationBar上的滚动按钮
文章图片
自适应item 3、在cell选中事件里面设置选中时的颜色,样式等,代码如下:
iOS之使用collectionView实现NavigationBar上的滚动按钮
文章图片
cell选中状态、滚动到视图中间 4、最后当然是取消选中状态了,代码如下:
iOS之使用collectionView实现NavigationBar上的滚动按钮
文章图片
取消 总的来说代码上很简单就是了,主要是运用到一些比较少用到的代理方法或者函数,比如说:
1、[_navCollectionView indexPathsForVisibleItems]; 获取可是的item;
2、[_navCollectionView scrollToItemAtIndexPath:indexPath atScrollPosition:UICollectionViewScrollPositionCenteredHorizontally animated:YES]; 设置滚动的方向:左、右、水平中、垂直中。
【iOS之使用collectionView实现NavigationBar上的滚动按钮】3、[collectionView cellForItemAtIndexPath:indexPath]; 适用于设置cell的高度、宽度的时候,它的作用是获取cell的属性。

    推荐阅读