一个具有顶部标签栏和滑动内容视图的 TabBarController。
要使用 CocoaPods 将 SPSlideTabBarController 集成到您的 Xcode 项目中,请在其 Podfile
中指定它
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '7.0'
pod 'SPSlideTabBarController', '~> 1.0.0'
然后,运行以下命令
$ pod install
最低 iOS 目标:iOS 7.0
SPSlideTabBarController
初始化一个 SPSlideTabBarController
TableViewController *tableViewController = [[TableViewController alloc] init];
[tableViewController setTitle:@"table"];
CollectionViewController *collectionViewController = [[CollectionViewController alloc] initWithCollectionViewLayout:[UICollectionViewFlowLayout new]];
[collectionViewController setTitle:@"collection"];
ScrollViewController *scrollViewController = [[ScrollViewController alloc] init];
[scrollViewController setTitle:@"scroll"];
ViewController *viewController = [[ViewController alloc] init];
[viewController setTitle:@"general"];
SPSlideTabBarController *slideTabBarController = [[SPSlideTabBarController alloc] initWithViewController:@[tableViewController, collectionViewController, scrollViewController, viewController] initTabIndex:2];
使用 SPSlideTabBarController 选择标签
- (void)selectTabIndex:(NSUInteger)tabIndex animated:(BOOL)animated;
将 UIViewController 添加到 SPSlideTabBarController
/**
* add a viewController to the slideTabBarController
*
* 为当前的 slideTabBarController 增加一个 viewController
*
* @discussion the viewController and the tab bar item will be added at the last index by default.
* @discussion 待加入的 viewController 和 tab bar item 会被默认加到最后一个
*/
- (void)addViewController:(nonnull UIViewController *)viewController;
/**
* add a viewController to the slideTabBarController at the index
*
* 为当前的 slideTabBarController 增加一个 viewController,添加到 index 的位置
*/
- (void)addViewController:(nonnull UIViewController *)viewController atIndex:(NSUInteger)tabIndex;
自定义滑动标签栏
定义遵循 SPSlideTabBarProtocol
协议的视图的一种简单方法是为自定义滑动标签栏定义一个视图。
已有两个自定义滑动标签栏。
SPFixedSlideTabBar
/**
* a custom slide tab bar whose tabs' width is fixed which is depend on the slide tab bar's width.
*
* 一个定制的 slide tab bar. 所有 tab 都是固定宽度的,具体宽度是多少是根据 tab bar 的宽度来均分计算的。
*/
@interface SPFixedSlideTabBar : UIView <SPSlideTabBarProtocol>
@end
SPSizingSlideTabBar
/**
* a custom slide tab bar whose tabs' width is depend on the content size of the tab.
*
* 一个定制的 slide tab bar. 所有 tab 的宽度都是根据 tab 的内容来自适应的。
*/
@interface SPSizingSlideTabBar : SPFixedSlideTabBar
@end
样式滑动标签栏项
[[SPSlideTabBarItem appearance] setBarItemSelectedTextColor:[UIColor blueColor]];
SPSlideTabBarController 在 MIT 许可证下发布。查看 LICENSE 了解详细信息。