GLViewPagerViewController
GLViewPagerViewController 是一个公用控件,常用于新闻资讯模块,这里主要使用 UIPageViewController 和 UIScrollView 作为标签栏容器视图来构建。
GLViewPagerViewController 是一个常见的公共控件,通常用于新闻,这里使用 UIPageViewController 和 UIScrollView 作为标签栏容器构建。
Swift 版本的 GLViewPagerViewController 可以在 此链接参考
以下是一个我使用它的项目。 项目:666
示例(例子)
运行工程示例,克隆仓库和构建工程,示例支持 Objective-C。
要运行示例项目,请克隆仓库并构建项目。示例适用于 Objective-C 项目。
安装(安装)
GLViewPagerController 支持 Cocoapods,您可以使用以下方式使用它
GLViewPagerController 现在支持 Cocoapods,您可以使用它
pod 'GLViewPagerViewController', '~> 1.0.1'
使用方法
要使用标签分页控件,你需要创建一个作为GLViewPagerViewController
子类的UIViewController
,然后实现以下数据源接口
要使用分页视图控制器,只需要创建一个继承自GLViewPagerViewController
的UIViewController
,然后实现以下数据源方法
Here return the amount of the tabs
- (NSUInteger)numberOfTabsForViewPager:(GLViewPagerViewController *)viewPager;
Here return the view of the tab at index
- (UIView *)viewPager:(GLViewPagerViewController *)viewPager
viewForTabIndex:(NSUInteger)index;
Here return the contentview of the viewpager at index
- (UIViewController *)viewPager:(GLViewPagerViewController *)viewPager
contentViewControllerForTabAtIndex:(NSUInteger)index;
分页视图控制器增强功能
Here you can get the tab index when swithing between tabs.
- (void)viewPager:(GLViewPagerViewController *)viewPager didChangeTabToIndex:(NSUInteger)index fromTabIndex:(NSUInteger)fromTabIndex;
Want to animate font or textcolor when switching tabs, you can use this delegate method, the progress value range from 0.0 to 1.0.
- (void)viewPager:(GLViewPagerViewController *)viewPager willChangeTabToIndex:(NSUInteger)index fromTabIndex:(NSUInteger)fromTabIndex withTransitionProgress:(CGFloat)progress;
Here you can return the tab width at index, if not implement this interface, it use the default tabwidth value.
- (CGFloat)viewPager:(GLViewPagerViewController *)viewPager widthForTabIndex:(NSUInteger)index;
外观
- indicatorColor
- 指示器颜色
- fixTabWidth
- 当fixTabWidth为true时,使用tabWidth作为默认值,如果fixTabWidth为false,将根据其内容大小调整宽度。
- tabWidth
- 当fixTabWidth为true时的默认tabWidth值。
- tabHeight
- 默认的tabHeight值
- indicatorHeight
- 指示器高度
- indicatorWidth
- 当fixIndicatorWidth为true时的指示器宽度
- fixIndicatorWidth
- 当fixIndicatorWidth为true时,使用indicatorWidth作为默认值,如果fixIndicatorWidth为false,将根据标签内容大小调整宽度。
- padding
- 标签之间的填充
- leadingPadding
- 首个标签的leadingPadding填充值
- trailingPadding
- 最后一个标签的trailingPadding填充值
- defaultDisplayPageIndex
- 首次显示时的默认显示页面索引
- animationTabDuration
- 标签动画持续时间
- tabAnimationType
- 标签动画类型,以下是列表
- GLTabAnimationType_none
- 表示没有动画
- GLTabAnimationType_whileScrolling
- 在滚动标签时进行动画
- GLTabAnimationType_end
- 完成滚动标签时的动画
- supportArabic
- 当supportArabic为true时,布局将反转,默认为false
要求
支持iOS 8及以上版本。
作者
徐彦策
邮箱:徐彦策