KYAnimatedPageControl, 具有多个动画的自定义 UIPageControl

分享于 

4分钟阅读

GitHub

  繁體 雙語
A custom UIPageControl with multiple animations
  • 源代码名称:KYAnimatedPageControl
  • 源代码网址:http://www.github.com/KittenYang/KYAnimatedPageControl
  • KYAnimatedPageControl源代码文档
  • KYAnimatedPageControl源代码下载
  • Git URL:
    git://www.github.com/KittenYang/KYAnimatedPageControl.git
    Git Clone代码到本地:
    git clone http://www.github.com/KittenYang/KYAnimatedPageControl
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/KittenYang/KYAnimatedPageControl
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    

    KYAnimatedPageControl

    CocoaPods VersionLicensePlatform

    ##Intro

    带有多个动画的自定义 UIPageControl。 使用两种动画样式:

    ( 自定义的UIPageControl。拥有两种动画样式:)

    • GooeyCircle

    • 粘性小球

    gooeyCircle

    详细细节

    气泡移动的距离越长,severer的粘性效应就越大。

    • RotateRect
    • 旋转方块

    rotateRect

    你不仅可以滚动UIScrollView子类,如 UICollectionView,UITableView和英镑KYAnimatedPageControl可以自动移动动画,而且你可以自动调整目标页面的大小,而且可以自动智能地滚动到目标位置。

    ##Blog

    谈谈iOS中粘性动画以及果冻效果的实现

    ##Installation

    pod 'KYAnimatedPageControl', '~> 1.0.5'

    ##Usage

    • 初始化:
     self.pageControl = [[KYAnimatedPageControl alloc]initWithFrame:CGRectMake(20, 450, 280, 50)];
     self.pageControl.pageCount = 8;
     self.pageControl.unSelectedColor = [UIColor colorWithWhite:0.9alpha:1];
     self.pageControl.selectedColor = [UIColor redColor];
     self.pageControl.bindScrollView = self.demoCollectionView;
     self.pageControl.shouldShowProgressLine = YES;
     self.pageControl.indicatorStyle = IndicatorStyleGooeyCircle;
     self.pageControl.indicatorSize = 20;
     [self.view addSubview:self.pageControl];
    • 必须在 UIScrollViewDelegate 中实现方法:
    #pragma mark -- UIScrollViewDelegate
    -(void)scrollViewDidScroll:(UIScrollView *)scrollView{
     //Indicator动画 [self.pageControl.indicator animateIndicatorWithScrollView:scrollView andIndicator:self.pageControl];
     if (scrollView.dragging || scrollView.isDecelerating || scrollView.tracking) {
     //背景线条动画 [self.pageControl.pageControlLine animateSelectedLineWithScrollView:scrollView];
     }
    }
    -(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
     self.pageControl.indicator.lastContentOffset = scrollView.contentOffset.x;
    }
    -(void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView{
     [self.pageControl.indicator restoreAnimation:@(1.0/self.pageControl.pageCount)];
    }
    - (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView{
     self.pageControl.indicator.lastContentOffset = scrollView.contentOffset.x;
    }

    ##版本 ##Version

    ### v1.0.5

    • 修复 didSelectIndexBlock的Bug

    ### v1.0.4

    ### v1.0.3

    • @property(nonatomic,assign)BOOL swipeEnable;
    • -(void)animateToIndex:(NSInteger)index;

    ### v1.0.2

    ### v1.0.1

    ### v1.0.0

    ##License 这里项目在MIT许可证下。 有关更多信息,请参阅许可证文件。


    相关文章