NKJPagerViewController 1.1.2

NKJPagerViewController 1.1.2

测试已测试
Lang语言 Obj-CObjective C
许可 MIT
发布最后发布2016年5月

nakajijapan维护。




NKJPagerViewController 是一个 PagerTabStrip,来自 Android。它包含一个无限滚动器的 UIScrollView。

该 viewController 受ICViewPager的启发。最大的不同是无限滑动页面。

要求

NKJPagerViewController 至少需要 Xcode 6,目标是 iOS 7.1 以上或 Mac OS 10.10 OS X Yosemite 以上。

安装

使用

作为 NKJPagerViewController 的子类实现,并在子类中实现 dataSource 和 delegate 方法。

- (void)viewDidLoad
{
    self.dataSource = self;
    self.delegate = self;

    [super viewDidLoad];
}

NKJPagerViewDataSource

决定标签数量。

- (NSUInteger)numberOfTabView
{
    return 10;
}

决定每个标签的宽度。

- (NSInteger)widthOfTabView
{
    return 160;
}

设置每个标签的视图设计。

- (UIView *)viewPager:(NKJPagerViewController *)viewPager viewForTabAtIndex:(NSUInteger)index
{
    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 160, 44)];
    label.backgroundColor = [UIColor grayColor];
    label.font = [UIFont systemFontOfSize:12.0];
    label.text = [NSString stringWithFormat:@"Tab #%lu", index * 10];
    label.textAlignment = NSTextAlignmentCenter;
    label.textColor = [UIColor blackColor];

    return label;
}

为每个标签设置视图控制器。

- (UIViewController *)viewPager:(NKJPagerViewController *)viewPager contentViewControllerForTabAtIndex:(NSUInteger)index
{
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
    ContentViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"ContentViewController"];
    vc.textLabel = [NSString stringWithFormat:@"Content View #%lu", index];
    return vc;
}

NKJPagerViewDelegate

此方法为可选。

- (void)viewPager:(NKJPagerViewController *)viewPager didSwitchAtIndex:(NSInteger)index withTabs:(NSArray *)tabs
{
    // do something
}

作者

@nakajijapan

许可

NKJPagerViewController 在 MIT 许可下可用。更多信息请参见 LICENSE 文件。