效果图:
其中图片是可以自己动的。当然,点击白色的小圆点,也是可以滑动的。
上代码。
.h
#import <UIKit/UIKit.h> @interface RootViewController : UIViewController <UIScrollViewDelegate> { UIScrollView *scoreView; } @end
.m
- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. [self initBackgroundView]; } #pragma -mark -functions -(void)initBackgroundView { self.view.backgroundColor=[UIColor greenColor]; scoreView=[[UIScrollView alloc]initWithFrame:CGRectMake(0, 100, 320, 140)]; scoreView.backgroundColor=[UIColor greenColor]; scoreView.contentSize=CGSizeMake(320*3, 140); scoreView.showsVerticalScrollIndicator=NO; scoreView.showsHorizontalScrollIndicator=NO; scoreView.scrollEnabled=NO; scoreView.delegate=self; for (int i=0; i<4; i++) { UIImageView* imageView=[[UIImageView alloc]initWithFrame:CGRectMake(i*320, 0, 320, 140)]; imageView.image=[UIImage imageNamed:[NSString stringWithFormat:@"%d.jpg",i]]; if (i==3) { imageView.image=[UIImage imageNamed:@"0.jpg"]; } [scoreView addSubview:imageView]; } [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(timer:) userInfo:nil repeats:YES]; [self.view addSubview:scoreView]; UIPageControl* pc = [[UIPageControl alloc] initWithFrame:CGRectMake(0, 220, 320, 20)]; pc.numberOfPages = 3; pc.tag=100; [pc addTarget:self action:@selector(pc:) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:pc]; } -(void)timer:(NSTimer *)timer{ if (scoreView.contentOffset.x==320*3) { scoreView.contentOffset=CGPointMake(0, 0); } [scoreView setContentOffset:CGPointMake(scoreView.contentOffset.x+320,0) animated:YES]; } - (void)pc:(UIPageControl*)pc{ scoreView.contentOffset=CGPointMake(pc.currentPage*320, 0); } #pragma -mark -UIScrollerViewDelegate - (void)scrollViewDidScroll:(UIScrollView *)scrollView{ UIPageControl* pc = (UIPageControl*)[self.view viewWithTag:100]; pc.currentPage = scrollView.contentOffset.x / 320; if (scoreView.contentOffset.x==320*3) { pc.currentPage=0; } }
时间: 2024-09-30 22:58:20