想给你的iPhone计算离午夜12:00点的剩余时间吗?看看小编为大家整理的在iOS中倒数计时的实例编程吧!
首先运行以安装好的 xCode
选择: File->New Project.
从 "New Project" 窗口
选择 : iPhone OS ->Applications-> View-Based Application
命名 : 我这里命名为 "minutesToMidnight"
(1) 在xCode打开 minutesToMidnightViewController.h 文件
#import
@interface minutesToMidnightViewController : UIViewController {
NSTimer *timer;
IBOutlet UILabel *countdownLabel;
}
@property(nonatomic,retain) UILabel *countdownLabel;
@property (nonatomic, retain) NSTimer *timer;
-(void)onTimer;
@end
(2) 在xCode打开 minutesToMidnightViewController.m 文件
#import "minutesToMidnightViewController.h"
@implementation minutesToMidnightViewController
@synthesize timer;
@synthesize countdownLabel;
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
[super viewDidLoad];
[countdownLabel setFont:[UIFont fontWithName:@"DBLCDTempBlack" size:128.0]];
countdownLabel.text = @"00:00:00";
self.timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(onTimer) userInfo:nil repeats: YES];
}
-(void)onTimer{
NSDate* now = [NSDate date];
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *dateComponents = [gregorian components:(NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit) fromDate:now]; //
NSInteger hour = [dateComponents hour];
NSInteger min = [dateComponents minute];
NSInteger sec = [dateComponents second];
sec = 60 - sec;
min = 59 - min;
hour = 23 - hour;
[gregorian release];
countdownLabel.text = [NSString stringWithFormat:@"%d:%d:%d", hour, min,sec];
}
- (void)didReceiveMemoryWarning {
// Releases the view if it doesn't have a superview.
[super didReceiveMemoryWarning];
// Release any cached data, images, etc that aren't in use.
}
- (void)viewDidUnload {
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}
- (void)dealloc {
[super dealloc];
[timer release];
[countdownLabel release];
}
@end
完成后打开Interface Builder,进行UIView设置
(3) UIView 界面设置- 黑色背景,红色字体,让它看起来像一个闹钟。
双击文件: "MinutesToMidnightViewController.xib" ;
然后 "Interface Builder" 会自动打开,在这里我们可以编辑改变界面
选择: Tools -> Reveal In Document Window -> View
选择: Tools -> Attributes Inspector
在色条内选择 "黑色",可以看到背景变为黑色
(4) 加入 UILabel 显示我们的倒数时间
选择: Tools -> Library ; 从Library显示菜单中拖拉一个 Label 到 Main View
在主显示上点击 Label;从Label Attributes 上选着字体的颜色和字体大小。
(5)从 Interface Builder 写入 UILabel 的 class file
再打开SDK工具 Interface Builder
在主视窗口或文件窗口;点击 Label
选择: Tools -> Connection Inspector
移动鼠标在"New Referencing Outlet" 后面圆圈上; 圆圈变为(+); 拖向直线连接到"File's Owner";
放开鼠标选择键出现 "countdownLabel"; 选上它。
选择: File -> Save then close Interface Builde
最后在 xCode 选择 Build->Build and Go
以上就是小编为大家整理的在iOS中倒数计时的实例编程,希望对大家有所帮助。