测试已测试 | ✗ |
Lang语言 | Obj-CObjective C |
许可证 | MIT |
Released最后一次发布 | 2017年4月 |
由Merrick Sapsford维护。
MSSTabbedPageViewController现已弃用,并提供一个新形式的Swift组件Tabman。遗憾的是,它不能与Objective-C兼容。
还有一个独立的组件Pageboy可供使用,它提供了MSSTabbedPageViewController中的UIPageViewController增强功能以及更多。
MSSTabbedPageViewController是一个UIViewController,提供了一个简单易用的带有滚动标签条的页面视图控制器。它还包括一个为UIPageViewController提供的包装器,该包装器提供了改进的数据源和代理方法。
要运行示例项目,请克隆仓库并构建项目。Objective-C和Swift项目都有示例。
MSSTabbedPageViewController通过CocoaPods提供。要安装它,只需在Podfile中添加以下行:
pod 'MSSTabbedPageViewController'
然后运行pod install
。
要使用标签页视图控制器,简单地创建一个继承自MSSTabbedPageViewController
的UIViewController
。然后实现以下数据源方法:
// array of view controllers to display in page view controller
- (NSArray *)viewControllersForPageViewController:(MSSPageViewController *)pageViewController;
如果您正在使用UINavigationBar
类的属性设置为MSSTabNavigationBar
,导航栏就会附着到视图控制器上。
要将标签栏视图手动附加到MSSTabbedPageViewController
MSSTabbedPageViewController
的tabBarView
属性设置为MSSTabBarView
实例(注意:tabBarView
是弱引用且为IBOutlet
)。MSSTabBarView
实例的dataSource
和delegate
属性设置为MSSTabbedPageViewController
(两者都是可IBOutlet
的)。要自定义标签栏中标签的内容,可以重写以下内容:
- (void)tabBarView:(MSSTabBarView *)tabBarView
populateTab:(MSSTabBarCollectionViewCell *)tab
atIndex:(NSInteger)index;
MSSPageViewController是UIPageViewController的UIViewController包装器,它提供了更简单的数据源和增强的代理方法。数据源方法如上所述,包含在MSSTabbedPageViewControllerDataSource
中。
MSSPageViewControllerDelegate 提供的代理方法如下:
- (void)pageViewController:(MSSPageViewController *)pageViewController
didScrollToPageOffset:(CGFloat)pageOffset
direction:(MSSPageViewControllerScrollDirection)scrollDirection;
当用户将页面视图控制器滚动到特定偏移时被调用,类似于 scrollViewDidScroll
。pageOffset 维护当前页面位置并提供一个滚动方向。
- (void)pageViewController:(MSSPageViewController *)pageViewController
didScrollToPage:(NSInteger)page;
当页面视图控制器完成滚动到新页面时被调用。
MSSTabBarView
提供以下自定义外观的属性,包括:
sizingStyle
- 是否应调整标签栏的大小以适应其标签或平均分配标签大小。tabStyle
- 用于标签的样式,可以是 MSSTabStyleText
用于文本或 MSSTabStyleImage
用于图片。indicatorStyle
- 用于当前标签指示器的样式。indicatorAttributes
- 当前标签指示器的外观属性。tabAttributes
- 标签的外观属性。selectedTabAttributes
- 被选标签的外观属性。selectionIndicatorTransitionStyle
- 选择指示器的过渡样式。MSSTabTransitionStyleProgressive
用于标签之间的逐渐过渡。MSSTabTransitionStyleSnap
用于过渡期间在标签间捕获。setTransitionStyle:
设置 selectionIndicatorTransitionStyle
和 tabTransitionStyle
。tabTransitionStyle
- 用于标签的过渡样式。支持 iOS 8 及以上版本。
Merrick Sapsford