你的位置:首页 > 操作系统

[操作系统]【代码笔记】电影上的花絮,自动滚动


一,效果图。

二,工程图。

三,代码。

RootViewController.h

复制代码
#import <UIKit/UIKit.h>@interface RootViewController : UIViewController<UIScrollViewDelegate>{  UIScrollView *scoreView;}@end
复制代码

 

RootViewController.m

复制代码
#import "RootViewController.h"@interface RootViewController ()@end@implementation RootViewController- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{  self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];  if (self) {    // Custom initialization  }  return self;}- (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;  [self.view addSubview:scoreView];      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];      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;  }}- (void)didReceiveMemoryWarning{  [super didReceiveMemoryWarning];  // Dispose of any resources that can be recreated.}
复制代码