简介

 

今天我们带来的是一个有关NSTimer的小项目。我们将要建立一个赛马的应用程序。我们将在屏幕下方创建一个由6个带有蓝色背景色的小UIView方框组成的视图,然后使用定时器随意移动其中一个任意的距离。开动!


Picture 16

 

源代码

获取源代码:NSTimerDemo

 

步骤

步骤1:

用Xcode建立一个view-based应用程序,随便取一个名。

步骤2:

在视图控制器的头文件中加入:

1
NSTimer *myTimer;

步骤3:

在视图控制器类中,取消viewDidLoad方法的注解并写入以下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
- (void)viewDidLoad
{
    [super viewDidLoad];
    CGRect workingFrame;

    workingFrame.origin.x = 15;
    workingFrame.origin.y = 400;
    workingFrame.size.width = 40;
    workingFrame.size.height = 40;

    for(int i = 0; i < 6; i++)
    {
        UIView *myView = [[UIView alloc]  initWithFrame:workingFrame];
        [myView setTag:i];

        [myView setBackgroundColor:[UIColor  blueColor]];
        workingFrame.origin.x =  workingFrame.origin.x + workingFrame.size.width + 10;

        [self.view addSubview:myView];
    }

    myTimer = [NSTimer  scheduledTimerWithTimeInterval:.1 target:self selector:@selector(moveACar)     userInfo:nil repeats:YES];

}

 

步骤4:

在视图控制器类中加入下列方法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
- (void)viewDidLoad
{
    [super viewDidLoad];

    CGRect workingFrame;
    workingFrame.origin.x = 15;
    workingFrame.origin.y = 400;
    workingFrame.size.width = 40;
    workingFrame.size.height = 40;

    for(int i = 0; i < 6; i++)
    {
        UIView *myView = [[UIView alloc] initWithFrame:workingFrame];

        [myView setTag:i];
        [myView setBackgroundColor:[UIColor blueColor]];
        workingFrame.origin.x = workingFrame.origin.x + workingFrame.size.width + 10;
        [self.view addSubview:myView];
    }

    myTimer = [NSTimer scheduledTimerWithTimeInterval:.1 target:self selector:@selector(moveACar)  userInfo:nil repeats:YES];

}

 

结论

对于各种项目中的小问题,定时器是一个十分方便的解决方案。

 

23/07/2009 原文:The Poor Man’s Threading