IOS导航条标签栏工具GLYPageView

2018-11-07  本文已影响31人  被吹落的风

最近在做一个项目,需要一个带图标的导航条,在网上找了好多,都没有合适的,于是就自己写了一个,图标可根据自己需求来,可添加可不添加。

带图标的效果

EE53655F1A5B8DE0F21E7801B592A60F.gif

不带图标的效果

8A1A06E02C6808FEC7020555C310E062.gif

导入:

1.通过Cocoapods安装

pod 'GLYPageView', '~> 0.0.1'

2.把GLYPageView文件夹拖入项目
556939FF-EED8-469E-B02C-8276389D7C60.png

使用:

使用很简单,就3个步骤就可实现此功能。

1.初始化

self.pageView = [[GLYPageView alloc] initWithFrame:CGRectMake(0.f, STATUS_BAR_HEIGHT, SCREEN_WIDTH, 44.f) titlesArray:@[@"最新",@"最热的帖子",@"最潮的我",@"这一天天的也真是",@"完美"]];
self.pageView.imagesArray = @[@"NewestSelected",@"Hottest",@"Hottest",@"Hottest",@"Hottest"];
self.pageView.delegate = self;
[self.pageView initalUI];
[self.view addSubview:self.pageView];

初始化时可选操作:

2.实现外层ScrollView的2个代理方法

实现这个方法是为了记录每次拖动ScrollView的起点self.startOffsetX

#pragma mark -
#pragma mark UIScrollViewDelegate
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
    self.startOffsetX = scrollView.contentOffset.x;
}

//totalPage外层ScrollView的总页码
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    if (scrollView.isDragging || scrollView.isDecelerating)
    {
        [self.pageView externalScrollView:scrollView totalPage:5 startOffsetX:self.startOffsetX];
    }
}

3.实现GLYPageViewDelegate

- (void)pageViewSelectdIndex:(NSInteger)index
{
    [self.contentScrollView setContentOffset:CGPointMake(index * SCREEN_WIDTH, 0) animated:YES];
}
上一篇下一篇

猜你喜欢

热点阅读