DRPaginatedScrollView 0.1

DRPaginatedScrollView 0.1

测试测试过的
语言语言 Obj-CObjective C
许可 自定义
发布最新发布2014年12月

未命名 维护。




  • David Román

使用块轻松实现分页滚动视图。

DRPaginatedScrollView GIF

特性

  • 基于块的 页面设置。
  • 跳转 之间页面(带有 弹跳效果)。
  • 自动 跳转到下一页 通过点击。
  • 自动布局 准备就绪。
  • 它支持 垂直水平 指向。

DRPaginatedScrollView GIF

如何使用

获取页面相关信息

- (NSInteger)currentPage
  • 返回:当前显示页面的索引(索引从 0 开始)。
- (NSInteger)nextPage
  • 返回:下一页的索引(索引从 0 开始)。
- (NSInteger)lastPage
  • 返回:最后一页的索引(索引从 0 开始)。
- (NSInteger)numberOfPages
  • 返回:分页滚动视图的当前页数。

设置页面

- (void)addPageWithHandler:(void (^)(UIView * pageView))handler
  • handler 是一个传递包含新页面子视图的视图的块,因此在那个块中,您只需将要在该页面上显示的所有视图添加到 pageView。它会正常工作。

对子视图应用自动布局不是必需的,但推荐使用。

无论如何,如果您决定使用自动布局,我建议使用一个名为 Masonry 的框架。非常棒的东西。

这里是一个没有使用自动布局的示例,以简化事情。如果您想查看使用自动布局实现的示例,请查看演示应用

[paginatedScrollView addPageWithHandler:^(UIView * pageView) {
    UIView * square = [UIView new];
    [square setBackgroundColor:[UIColor redColor]];
    [square setFrame:CGRectMake(0, 0, 100, 100)];

    [pageView addSubview:square];
}];

在页面之间跳转

- (void)jumpToPage:(NSInteger)page bounce:(CGFloat)bounce completion:(void (^)(void))completion
  • page 指定要跳转到的页面的索引。
  • bounce 指定跳转将执行的弹跳效果量。推荐值为 0-40,其中 0 是没有弹跳。
  • completion 是在跳转完成后要执行的块。

这里有一些示例

// Jumping to the 4th page with no bounce effect and completion

[paginatedScrollView jumpToPage:3 bounce:0 completion:^{
    NSLog(@"Jump finished!");
}];

// Jumping to the first page with a normal bounce effect and no completion

[paginatedScrollView jumpToPage:0 bounce:20 completion:nil];

// Jumping to the next page with a little bounce effect and no completion

[paginatedScrollView jumpToPage:[paginatedScrollView nextPage] bounce:10 completion:nil];

// Jumping to the last page with a high bounce effect and no completion

[paginatedScrollView jumpToPage:[paginatedScrollView lastPage] bounce:40 completion:nil];

控制页面之间跳转的细节

BOOL isJumping
  • 描述:分页滚动视图当前是否正在页面之间跳转。
NSTimeInterval jumpDurationPerPage
  • 描述:在跳转多个页面时,每个页面将保持跳转的持续时间。
  • 默认值:0.1
  • 推荐值:0.05-0.175

处理视图上的点击

void (^actionWhenTappedBlock)(DRPaginatedScrollView *)
  • 描述:当分页滚动视图被点击时执行的行动。
  • 默认值

    ^(DRPaginatedScrollView * paginatedScrollView) {
        [paginatedScrollView jumpToPage:[paginatedScrollView nextPage] bounce:0 completion:nil];
    }
  • 推荐值:任何。

愿望单

  • CocoaPods 支持。
  • 自动可定制的分页指示器(paginatedScrollView configurePageIndicatorWithHandler:)。
  • 可以截取任意子视图直到指定的页面(pageView clipSubview:untilPage:)和永久截取(pageView clipSubviewForever:)。

要求

  • iOS 6 或更高。
  • 自动引用计数(ARC)。

联系

创建者

David Román | @Dromaguirre

贡献者

目前没有贡献者。

许可

你可以随意使用它。我只希望能够知道你是否在某个自己的项目中使用它。