仿MONO界面(类似网易新闻导航栏)

仿MONO界面(类似网易新闻导航栏)_第1张图片

  点击上面的菜单栏,下面会跳转到相应的界面。滑动下面的界面,上面的菜单栏也会跟着变化。

思路:

头部是一个ScrollView,根据数组的count来确定创建多少个按钮。(下面的一个collectionView。也是根据数组来确定Item个数。)

- (void)setScrollHeaderButtonTitleArray:(NSArray*)array;

同时根据所有按钮的宽度给ScrollView设置ContentSize。

在按钮的点击方法中,需要做两件事,改变按钮的选中/未选中样式,并执行代理方法。

[self.delegate  clickButtonAtIndex:index];

代理方法里面的这样写的,当点击了不同的按钮让collectionView跟着滚一下。

- (void)clickButtonAtIndex:(NSInteger)index {

[_collectionViewscrollToItemAtIndexPath:[NSIndexPathindexPathForItem:indexinSection:0]atScrollPosition:UICollectionViewScrollPositionNoneanimated:YES];

}

当collectionView滑动时,ScrollHeader执行这个方法。

- (void)setScrollToIndex:(NSInteger)integer;

根据collectionView当前的item来确定header的第几个按钮呈现选中状态就OK拉!

也有别的思路,比如有的人喜欢每一个按钮对应的是一个controller,能达到目的就好。

你可能感兴趣的:(仿MONO界面(类似网易新闻导航栏))