我在刷新定時器上的文本時遇到問題。我正在顯示當前時間並每秒刷新一次屏幕。我遇到的問題是舊時間在打印新時間時不會被擦除。如何在iPhone應用程序中重寫文本
這是顯示當前時間的功能。
- (void)drawRect:(CGRect)rect {
CGPoint location = CGPointMake(10,20);
UIFont *font = [UIFont systemFontOfSize:24.0];
[[UIColor whiteColor] set];
NSString *s = [NSString stringWithFormat:@"%@", [NSDate date]];
[s drawAtPoint:location withFont:font];
}
下面是刷新當前每一秒計時器:
- (IBAction)startRepeatingTimer {
NSRunLoop *runloop = [NSRunLoop currentRunLoop];
NSTimer *timer = [NSTimer timerWithTimeInterval:1 target:self selector:@selector(timerFireMethod:) userInfo:nil repeats:YES];
[runloop addTimer:timer forMode:NSDefaultRunLoopMode];
}
- (void)timerFireMethod:(NSTimer*)theTimer {
[self setNeedsDisplay];
}
我怎樣才能刪除舊的文本或擦拭整個畫面乾淨?
您不只是使用標籤的任何特定原因?您通常不會繪製必須不斷重繪的文本。使用其中一個以文本爲中心的UI元素會更容易。 – TechZen 2010-06-22 03:16:39
我只是試驗可可,並想知道如何用手做。我計劃在發佈任何應用程序之前使用界面構建器。 – Gattster 2010-06-27 05:48:49