图片无限循环(手动和自动)

”’

import “MainViewController.h”

define WIDTH self.view.frame.size.width

define HEIGHT self.view.frame.size.height

@interface MainViewController ()
@property(nonatomic, retain)UIScrollView *scrollView;
@property(nonatomic, retain)UIPageControl *page;
@end

@implementation MainViewController
-(void)dealloc
{
[_page release];
[_scrollView release];
[super dealloc];
}
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.

self.scrollView = [[UIScrollView alloc] initWithFrame:self.view.frame];
self.scrollView.backgroundColor = [UIColor cyanColor];
[self.view addSubview:self.scrollView];
[self.scrollView release];

self.scrollView.contentSize = CGSizeMake(WIDTH * 8, 0);
UIImageView *imageView1 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"6.jpg"]];
imageView1.frame = CGRectMake(0, 0, WIDTH, HEIGHT);
[self.scrollView addSubview:imageView1];
[imageView1 release];

for (NSInteger i = 1; i < 7 ; i++ ) {
    NSString *picName = [NSString stringWithFormat:@"%ld.jpg",i];
    UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:picName]];
    imageView.frame = CGRectMake(WIDTH * i , 0, WIDTH, HEIGHT);
    [self.scrollView addSubview:imageView];
    [imageView release];

}
UIImageView *imageView2 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"1.jpg"]];
imageView2.frame = CGRectMake(WIDTH * 7, 0, WIDTH, HEIGHT);
[self.scrollView addSubview:imageView2];
[imageView2 release];

self.scrollView.contentOffset = CGPointMake(WIDTH, 0);
self.scrollView.bounces = NO;
self.scrollView.showsHorizontalScrollIndicator = NO;
self.scrollView.showsVerticalScrollIndicator = NO;
self.scrollView.pagingEnabled = YES;
self.scrollView.delegate = self;

// pagecontrol

self.page = [[UIPageControl alloc] initWithFrame:CGRectMake(100, 600, 150, 20)];
self.page.backgroundColor = [UIColor cyanColor];
[self.view addSubview:self.page];
[_page release];
self.page.numberOfPages = 6;
self.page.currentPageIndicatorTintColor = [UIColor whiteColor];
self.page.pageIndicatorTintColor = [UIColor lightGrayColor];



// 计时器
[NSTimer scheduledTimerWithTimeInterval:2 target:self selector:@selector(changeImage) userInfo:nil repeats:YES];

}
// 自动循环
-(void)changeImage
{
[self.scrollView setContentOffset:CGPointMake(self.scrollView.contentOffset.x + WIDTH, 0)animated:NO];
if (self.scrollView.contentOffset.x == WIDTH * 7) {
self.scrollView.contentOffset = CGPointMake(WIDTH, 0);
}
self.page.currentPage = self.scrollView.contentOffset.x / WIDTH - 1;

}
-(void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView
{

}
// 手动循环(和pagecontrol联系在一起)
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
self.page.currentPage =
self.scrollView.contentOffset.x/WIDTH -1 ;

if (self.scrollView.contentOffset.x == WIDTH * 7) {
    self.scrollView.contentOffset = CGPointMake(WIDTH, 0);
    self.page.currentPage = 0;
}else if (self.scrollView.contentOffset.x == 0)
{
    self.scrollView.contentOffset = CGPointMake(WIDTH * 6, 0);
    self.page.currentPage = 5;
}

}
”’

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值