可以循环滚动的展示图

ViewController.h

@interface ViewController : UIViewController<UIScrollViewDelegate>
{
    NSInteger _index;
    UIPageControl *_pageCtrl;
    UIScrollView *_scrollerView;
}

ViewController.m

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];

    _scrollerView= [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
    _scrollerView.delegate = self;
    _scrollerView.backgroundColor = [UIColor redColor];
    _scrollerView.pagingEnabled = YES;
    _scrollerView.showsHorizontalScrollIndicator = NO;
    _scrollerView.contentSize = CGSizeMake(320*6, 480);
    [self.view addSubview:_scrollerView];

    for (int i=0; i<6; i++) {
        NSString *name = [NSString stringWithFormat:@"%d",i];
        UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:name]];
        imageView.frame = CGRectMake(320*i, 0, 320, 480);
        [_scrollerView addSubview:imageView];
    }

    _pageCtrl = [[UIPageControl alloc] initWithFrame:CGRectMake(20, 400, 280, 30)];
    _pageCtrl.backgroundColor = [UIColor grayColor];
    _pageCtrl.numberOfPages = 5;
    [self.view addSubview:_pageCtrl];

    //自动滑动
    [NSTimer scheduledTimerWithTimeInterval:2
                                     target:self
                                   selector:@selector(timeAction:)
                                   userInfo:nil
                                    repeats:YES];

}

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {

    int count = scrollView.contentOffset.x/320;
    //实现循环滑动
    if (count == 5) {
        //重点是这句话
        scrollView.contentOffset = CGPointMake(0, 0);
        _pageCtrl.currentPage = 0;

    }else {
        _pageCtrl.currentPage = count;
    }
}

- (void)timeAction:(NSTimer *)time {

    _index ++;
    if (_index == 5) {
        _index = 0;
    }
    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:.5];
    _scrollerView.contentOffset = CGPointMake(_index*320, 0);
    [UIView commitAnimations];

    _pageCtrl.currentPage = _scrollerView.contentOffset.x/320;
}

@end
时间: 2024-08-07 21:19:49

可以循环滚动的展示图的相关文章

SDWebimage加载图片,循环滚动轮播图和pagecontrol

#define KIMGCOUNT 4

循环滚动图 - iOS

自己在工作之余封装了一个简单的scrollview轮播(自动循环滚动由右向左,手动情况下左右均可循环滚动),感觉自己就算是一个iOS初级开发者,所以如果代码有瑕疵或者不好的地方,希望各位大神及时的指出来,代码洁癖的人发现bug看了不爽可以直接@批评我. 多话不说了先献上代码--https://github.com/jasonlee94/AdvertisingView 这个整体思路就是:收取到图片之后,第一张的前面放置最后一张图,最后一张图片的后面放置第一张图,也就是说如果收到四张图片,那么scr

Swift - 多层无缝循环滚动背景(SpriteKit游戏开发)

在游戏开发中,比如跑酷游戏.我们需要实现背景的无限循环滚动,来营造运动的效果.除了单层的背景滚动,还有视差滚动. 视差滚动是指让多层背景以不同的速度移动,形成立体的效果,从而带来非常出色的视觉体验. 样例说明: 1,本样例背景分为两层.第一层更靠近游戏窗口的色彩更鲜艳,移动速度也更快一些.第二层由于要模拟远处的场景,所以颜色也更淡一些,对比度更弱一些,移动速度也更慢一些. 2,要实现循环滚动.我们准备的背景图首尾是要可以无缝衔接的. 3,判断需要多少张无缝衔接图来组成背景?判断标准是:当第一张图

简单图片循环滚动

<marquee style="margin-top:5px;" behavior="alternate" loop="1" onmousemove="stop()" onmouseout="start()"> <img src="Image/0.jpg" width="180px"; height="180px" /> &

Cocos2d-x3.0游戏实例之《别救我》第三篇——循环滚动背景

好,这篇我们来讲解无限循环滚动背景,这个知识已经被讲到烂了,我以前的文章也介绍过,所以就不那么详细地说明了. 笨木头花心贡献,啥?花心?不呢,是用心~ 转载请注明,原文地址:http://www.benmutou.com/blog/archives/823 文章来源:笨木头与游戏开发 为什么是循环滚动背景? 用循环滚动背景,其实是因为我想偷懒,因为这样我只需要准备一张图片就可以了. 我们最终要创建这样的背景,如图: 背景是在滚动的,大家有没有看到?(小若:看你妹,这是jpg,不是gif) 大家是

IOS实现自动循环滚动广告--ScrollView的优化和封装

一.问题分析 在许多App中,我们都会见到循环滚动的视图,比如广告,其实想实现这个功能并不难,用ScrollView就可以轻松完成,但是在制作的过程中还存在几个小问题,如果能够正确的处理好这些小问题,无论从效果还是性能上都会得到优化. 问题一 第一个问题是如何用ScrollView来展示N个视图.想要实现这个效果,可以把N个视图依次按顺序添加到ScrollView上,然后把 ScrollView的contentSize设置为N个视图的尺寸,通过滑动ScrollView来查看加在上面的视图. 问题

UIScrollView循环滚动图片

转载自  http://www.jianshu.com/p/aa73c273baf2 我们会经常用到循环滚动图片,包括定时滚动,点击触发事件.以前所知道的循环滚动图片的方法是这样的.比如:一共5张图片,位置为1,2,3,4,5. 创建7个imageView. 将最后一张图片放到第一张图片前面,将第一张图片放到最后一张后面,位置为5,1,2,3,4,5,1. 最后一张图片滚动到第一张图片时,先从第二个图片5滚动到第二个图片1,滚动完之后把位置设置为第一个图片1.从后向前滚动同样的原理. 在scro

如果做一个循环滚动的UIScrollView

先上效果图: 先初始化: - (void)viewDidLoad { //添加最后一张图 用于循环 int length = 4; NSMutableArray *tempArray = [NSMutableArray array]; for (int i = 0 ; i < length; i++) { NSString* str = [NSString stringWithFormat:@"title%d",i]; [tempArray addObject:str]; } N

基于html5可拖拽图片循环滚动切换

分享一款基于html5可拖拽图片循环滚动切换.这是一款支持手机端拖拽切换的网站图片循环滚动特效.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div id="site-wrapper"> <section id="section-header" data-coloroverlap="dark"></section> <section id="second-phase&qu