【发布时间】:2011-09-06 16:54:44
【问题描述】:
我使用 cocoa 编写了一个小的自定义视图应用程序。后来(是的,我知道这很糟糕)我只是问自己:这也适用于可可粉吗?当然 id 并没有立即起作用,我不得不更改类名等等。好吧,我在需要时使用NSTimer 和setNeedsDisplay: 方法刷新了视图。在可可下工作得很好,但在可可触摸下绝对不行。
我无法向自己解释,实际上我不知道哪些代码行可以帮助某人解决问题。也许这里是计时器:
[self setMyTimer: [NSTimer scheduledTimerWithTimeInterval:0.03 target:self selector:@selector(myTarget:) userInfo:nil repeats:YES]];
它的目标:
- (void) myTarget:(NSTimer *)timer {
[self setNeedsDisplay];
}
计时器每 30 毫秒调用一次,我使用 NSLog 进行了检查。
在drawRect: 方法中,我实际上只是画了一些形状,没有做任何其他事情。以防万一需要调用某种clearRect: 方法。正如我所说,在可可下它工作。
【问题讨论】:
-
试试
[self setNeedsDisplay:YES];。 -
@WTP:这似乎在 iPhone 上,它没有
setNeedsDisplay:方法,只有无参数setNeedsDisplay(这真的很有意义,因为我没有我想我曾经写过setNeedsDisplay:NO,除了有一次我很好奇它是否有任何作用)。
标签: objective-c cocoa-touch cocoa custom-view setneedsdisplay