01™‹‹Minutes to Midnight››

从今天开始我们一起学习31个关于iPhone开发的小Demo,关于这些Demo都是来自国外网站,每一个都是一些小的练习,既然我们都是在学习,那么我们就应该遇到好的东西不放过,搞懂它,然后从中汲取精华为我所用。有人说“最好最快的学习编程,就是看别人的代码。”但是我觉得除了这些,我们更应该搞懂那些代码,实际的动手练习一下,弄懂其中的机制。然后我们在能够够在使用中得心应手。(仅仅是个人观点,可不能因为这些观点影响你的学习计划哦~~~).

我们看第一个Demo,这个Demo是关于时间显示的,一般我们获取了时间之后都只是当前时间,不能随着 时间而走动,而且不能够有那种LED显示的效果,因此在这里我们学习一下这些方法。

1、打开Xcode (这里我使用的是4.2),创建基于单一视图的工程,我们命名工程名为“MinutesToMidnight”,保存。

2、为了显示的效果,我们首先设置一下界面。打开“MinutesToMidnightViewController.xib”文件,在属性检查器中设置视图的backgroundcolor为blackcolor。然后我们从库中拖一个UILabel放置在视图的中央位置。并设置其文本为“12:00”,并且设置其文本颜色为redcolor。当然我们也可以使用代码直接设置,这里为了节省时间,就使用属性检查器进行设置了。

3、至此我们的界面就设置完成了,接下来我们为项目添加必要的代码.

4、打开AppDelegate.h文件,我们为项目生命一个timer,用来控制时间跳动频率。

#import <UIKit/UIKit.h>

@class MinutesToMidnightViewController;

@interface MinutesToMidnightAppDelegate : NSObject <UIApplicationDelegate> {
	IBOutlet UIWindow *window;
	IBOutlet MinutesToMidnightViewController *viewController;
	NSTimer *timer; //声明一个timer
}
-(void)onTimer;  //声明timer的控制函数
@property (nonatomic, retain) UIWindow *window;
@property (nonatomic, retain) MinutesToMidnightViewController *viewController;

@end

5、完成后我们打开AppDelegate.m文件,实现timer方法:

- (void)applicationDidFinishLaunching:(UIApplication *)application {	
	......
	timer = [NSTimer scheduledTimerWithTimeInterval:(1.0) target:self selector:@selector(onTimer) userInfo:nil repeats:YES];
	......
}

- (void)onTimer {
	[viewController updateLabel];
}

- (void)applicationWillTerminate:(UIApplication *)application {
	[timer invalidate];
}

6、完成后我们打开ViewController.h文件,声明一个UILabel的输出口。并声明一个更新label内容的方法updateLabel。

7、完成后我们打开ViewController.m文件,实现相应的方法。

这里要说明的是原来的例子中使用的是dateWithCalendarFormat:timeZone:方法,但是在最新版本貌似不支持此方法,因此我们使用了另一种方法。具体实现在Source Code。

8、为了让显示有LED的效果,我们需要设置label的字体:

[label setFont:[UIFont fontWithName:@"DBLCDTempBlack" size:128.0]];

9、最后一步,我们需要连接控件到file‘s ower。

OK,至此我们的这个小Demo就完成了,click -> Run  or  command + R!!

效果图:




Source  Code:  Click



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值