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

  • 相关阅读:
    福大软工 · 第十二次作业
    Beta 冲刺(7/7)
    Beta 冲刺(6/7)
    Beta 冲刺(5/7)
    Beta 冲刺(4/7)
    Beta 冲刺(3/7)
    Beta 冲刺(2/7)
    福大软工 · 第十次作业
    Beta 冲刺(1/7)
    64位 CentOS NDK 编译 FFMPEG
  • 原文地址:https://www.cnblogs.com/CJH5209/p/6027441.html
Copyright © 2011-2022 走看看