轻松创建精彩的滑动标签。
CKViewPager 同样在 Swift 中可用
只需将 ViewPagerController.m 和 ViewPagerController.h 文件复制到您的项目中。
继承 ViewPagerController(因为它是 UIViewController
的子类)并在子类中实现 dataSource 和 delegate 方法。
在子类中分配 self 为 dataSource 和 delegate,
- (void)viewDidLoad {
[super viewDidLoad];
self.dataSource = self;
self.delegate = self;
}
然后实现 dataSource 和 delegate 方法。
#pragma mark - ViewPagerDataSource
- (NSUInteger)numberOfTabsForViewPager:(ViewPagerController *)viewPager {
return 10;
}
返回ViewPager中将要出现的标签数量。
#pragma mark - ViewPagerDataSource
- (UIView *)viewPager:(ViewPagerController *)viewPager viewForTabAtIndex:(NSUInteger)index {
UILabel *label = [UILabel new];
label.text = [NSString stringWithFormat:@"Tab #%i", index];
[label sizeToFit];
return label;
}
返回作为标签显示的视图。创建一个 UIView
对象(或任何 UIView
子类对象)并将其提供给ViewPager,它将使用它作为标签视图。
#pragma mark - ViewPagerDataSource
- (UIViewController *)viewPager:(ViewPagerController *)viewPager contentViewControllerForTabAtIndex:(NSUInteger)index {
UIViewController *viewController = [UIViewController alloc] init];
return viewController;
}
返回作为内容显示的视图控制器。创建一个 UIViewController
对象(或任何 UIViewController
子类对象)并将其提供给ViewPager,它将使用视图控制器的 view
属性作为内容视图。
或者,您可以实现 - viewPager:contentViewForTabAtIndex:
方法并返回一个 UIView
对象(或任何 UIView
子类对象)和ViewPager将使用它作为内容视图。
- viewPager:contentViewControllerForTabAtIndex:
和 - viewPager:contentViewForTabAtIndex:
数据源方法都定义为可选的。但是,您应该实现其中至少一个!它们被定义为可选的,以给您提供选择。
所有代理方法都是可选的。
- (void)viewPager:(ViewPagerController *)viewPager didChangeTabToIndex:(NSUInteger)index {
// Do something useful
}
当通过 - viewPager:didChangeTabToIndex:
方法调用您的委托对象时,ViewPager将通知您,以便您可以做一些有用的事情。
self.indicatorColor = [[UIColor redColor] colorWithAlphaComponent:0.64];
self.tabsViewBackgroundColor = [[UIColor lightGrayColor] colorWithAlphaComponent:0.32];
self.contentViewBackgroundColor = [[UIColor darkGrayColor] colorWithAlphaComponent:0.32];
self.startFromSecondTab = NO;
self.centerCurrentTab = NO;
self.tabLocation = ViewPagerTabLocationTop;
self.tabHeight = 49;
self.tabOffset = 36;
self.tabWidth = UIInterfaceOrientationIsLandscape(self.interfaceOrientation) ? 128.0f : 96.0f;
self.fixFormerTabsPositions = NO;
self.fixLatterTabsPositions = NO;
self.shouldAnimateIndicator = ViewPagerIndicatorAnimationWhileScrolling;
查看 ViewPagerController.h 以查看所有选项。
ViewPager 支持 iOS 6 及以上版本并使用 ARC。
支持 iPhone 和 iPad。
此库基于 ICViewPager
CKViewPager 使用 MIT 许可协议。查看 LICENCE 文件获取更多信息。