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

来源:互联网 发布:微城市114源码 编辑:程序博客网 时间:2024/05/27 00:46

实现图片动态变化效果

多张图片连续动画实现

*方案一:直接使用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;}
0 0
原创粉丝点击