”’
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;
}
}
”’