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

本文适合菜鸟,大神请忽略(如果有说错了,请指出,谢谢)先说说我做的一些效果吧,我实现的效果类似于今日头条NavigationBar上面滚动按钮,被点击的按钮会滚动到中间位置。实现思路,使用collectionView来实现这样比scrollView上面直接添加按钮来的好因为考虑到复用和节省内存的缘故,弃用最初的想法——scrollView+Button。步骤如下:

1、创建UICollectionView

2、设置item自适应,这个主要考虑到每一个按钮(item)的文本内容不固定,代码如下:

iOS之使用collectionView实现NavigationBar上的滚动按钮_第1张图片
自适应item

3、在cell选中事件里面设置选中时的颜色,样式等,代码如下:

iOS之使用collectionView实现NavigationBar上的滚动按钮_第2张图片
cell选中状态、滚动到视图中间

4、最后当然是取消选中状态了,代码如下:

iOS之使用collectionView实现NavigationBar上的滚动按钮_第3张图片
取消

总的来说代码上很简单就是了,主要是运用到一些比较少用到的代理方法或者函数,比如说:

1、[_navCollectionView indexPathsForVisibleItems];获取可是的item;

2、[_navCollectionView scrollToItemAtIndexPath:indexPath atScrollPosition:UICollectionViewScrollPositionCenteredHorizontally animated:YES];设置滚动的方向:左、右、水平中、垂直中。

3、[collectionView cellForItemAtIndexPath:indexPath];适用于设置cell的高度、宽度的时候,它的作用是获取cell的属性。

你可能感兴趣的:(iOS之使用collectionView实现NavigationBar上的滚动按钮)