图片动态显示(轮播效果)

实现图片动态变化效果

多张图片连续动画实现

*方案一:直接使用UIImageView来实现
示例代码如下:

UIImageView* mainImageView= [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 784, 300)];
     mainImageView.animationImages = [NSArray arrayWithObjects:   
     [UIImage imageNamed:@"icon_main_ad0.png"],
                  [UIImageimageNamed:@"icon_main_ad1.png"],
                            [UIImageimageNamed:@"icon_main_ad2.png"],nil];
     [mainImageView setAnimationDuration:9.0f];
     [mainImageView setAnimationRepeatCount:0];
     [mainImageView startAnimating];
     [borderView addSubview:mainImageView];
    [mainImageView release];

*方案二:利用定时器定时切换图片
示例代码如下:

UIImage *image = [UIImage imageNamed:@"icon_main_ad0.png"];
     UIImageView *imageView = [[UIImageView alloc]initWithImage:image];
     [imageView setFrame:CGRectMake(0, 0, 784, 300)];
     [self performSelector:@selector(changeImages:)withObject:imageView afterDelay:3.0];
     [borderView addSubview:imageView];
    [imageView release];
重点:
自己再定义一个改变图片的程序:
/*
 * @DO 改变滑动图片
 * @param imageView 滑动视图
 */
- (void) changeImages:( UIImageView *) imageView
{
     //这里是改变图片的程序代码,在此略去,然后递归调用自己
     [self performSelector:@selector(changeImages:)
              withObject: imageView
              afterDelay:3.0
      ];
}

- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];

    _timer = [NSTimer scheduledTimerWithTimeInterval:5 target:self selector:@selector(changePag) userInfo:nil repeats:YES];
}
- (void)changePag
{
    _counttttttt ++;

    [_scrollView setContentOffset:CGPointMake(SCREEN_WIDTH * ((_counttttttt % 3)  + 1), 0) animated:YES];
    _pageControl.currentPage = _counttttttt % 3;
}


- (void)viewDidLoad {
    [super viewDidLoad];
     _pageControl = [[UIPageControl alloc] init];
    _pageControl.numberOfPages = 3;
    _pageControl.bounds = CGRectMake(0, 0, 80, 20);
    _pageControl.center = CGPointMake(CGRectGetMidX(self.view.frame), CGRectGetHeight(_scrollView.frame) - 20);
    _pageControl.currentPageIndicatorTintColor = [UIColor redColor];
    _pageControl.userInteractionEnabled = NO;
    [self.view addSubview:_pageControl];


}

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
    _timer = [NSTimer scheduledTimerWithTimeInterval:5 target:self selector:@selector(changePag) userInfo:nil repeats:YES];
    if (scrollView.contentOffset.x == SCREEN_WIDTH * 4) {
        [scrollView setContentOffset:CGPointMake(SCREEN_WIDTH, 0) animated:NO];
    }
    else if (scrollView.contentOffset.x == 0)
    {
        [scrollView setContentOffset:CGPointMake(SCREEN_WIDTH * 3, 0) animated:NO];
    }
    _pageControl.currentPage = scrollView.contentOffset.x / CGRectGetWidth(self.view.frame) - 1;

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wxf_csdn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值