本文適合菜鳥,大神請忽略(如果有說錯了,請指出,謝謝)先說說我做的一些效果吧,我實現的效果類似于今日頭條NavigationBar上面滾動按鈕,被點擊的按鈕會滾動到中間位置。實現思路,使用collectionView來實現這樣比scrollView上面直接添加按鈕來的好因為考慮到復用和節省內存的緣故,棄用最初的想法——scrollView+Button。步驟如下:
1、創建UICollectionView
2、設置item自適應,這個主要考慮到每一個按鈕(item)的文本內容不固定,代碼如下:
自適應item
3、在cell選中事件里面設置選中時的顏色,樣式等,代碼如下:
cell選中狀態、滾動到視圖中間
4、最后當然是取消選中狀態了,代碼如下:
取消
總的來說代碼上很簡單就是了,主要是運用到一些比較少用到的代理方法或者函數,比如說:
1、[_navCollectionView indexPathsForVisibleItems];獲取可是的item;
2、[_navCollectionView scrollToItemAtIndexPath:indexPath atScrollPosition:UICollectionViewScrollPositionCenteredHorizontally animated:YES];設置滾動的方向:左、右、水平中、垂直中。
3、[collectionView cellForItemAtIndexPath:indexPath];適用于設置cell的高度、寬度的時候,它的作用是獲取cell的屬性。