zoukankan      html  css  js  c++  java
  • ScrollView分页-无限循环

    #import "XMGInfiniteScrollView.h"

    static int const ImageViewCount = 3;

    @interface XMGInfiniteScrollView()

    @property (weak, nonatomic) UIScrollView *scrollView;

    @property (weak, nonatomic) NSTimer *timer;

    @end@implementation XMGInfiniteScrollView

    - (instancetype)initWithFrame:(CGRect)frame

    {    if (self = [super initWithFrame:frame]) {        // 滚动视图        UIScrollView *scrollView = [[UIScrollView alloc] init];        scrollView.showsHorizontalScrollIndicator = NO;        scrollView.showsVerticalScrollIndicator = NO;        scrollView.pagingEnabled = YES;        

    scrollView.bounces = NO;      

      scrollView.delegate = self;        

    [self addSubview:scrollView];   

         self.scrollView = scrollView;             

       // 图片控件   

         for (int i = 0; i- (void)scrollViewDidScroll:(UIScrollView *)scrollView

    {    // 找出最中间的那个图片控件  

      NSInteger page = 0;    CGFloat minDistance = MAXFLOAT;

        for (int i = 0; i= self.pageControl.numberOfPages)

     {

    index = 0;

    }

    imageView.tag = index;

    imageView.image = self.images[index];

    }

    // 设置偏移量在中间

    if (self.isScrollDirectionPortrait) {

    self.scrollView.contentOffset = CGPointMake(0, self.scrollView.frame.size.height);

    } else {

    self.scrollView.contentOffset = CGPointMake(self.scrollView.frame.size.width, 0);

    }

    }

    #pragma mark - 定时器处理

    - (void)startTimer

    {

    NSTimer *timer = [NSTimer timerWithTimeInterval:2 target:self selector:@selector(next) userInfo:nil repeats:YES];

    [[NSRunLoop mainRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];

    self.timer = timer;

    }

    - (void)stopTimer

    {

    [self.timer invalidate];

    self.timer = nil;

    }

    - (void)next

    {

    if (self.isScrollDirectionPortrait) {

    [self.scrollView setContentOffset:CGPointMake(0, 2 * self.scrollView.frame.size.height) animated:YES];

    } else {

    [self.scrollView setContentOffset:CGPointMake(2 * self.scrollView.frame.size.width, 0) animated:YES];

    }

    }

    @end

  • 相关阅读:
    ORA12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
    ORACLE MERGE 介绍
    【转】三大UML建模工具Visio、Rational Rose、PowerDesign的区别
    ORALC的STDDEV、STDDEV_POP、STDDEV_SAMP等函数
    SQL语言艺术实践篇——局外思考
    数据分析方法
    ORACLE FLASHBACK TABLE 的一个有趣问题
    avalon有关ViewModel与Model的同步问题
    迷你MVVM框架 avalonjs 0.73发布
    将一个节点集合以最少的步骤转换为另一个节点集合
  • 原文地址:https://www.cnblogs.com/CJH5209/p/6027441.html
Copyright © 2011-2022 走看看