【发布时间】:2011-04-06 19:50:58
【问题描述】:
我想知道是否有等效于awakeFromNib的方法。
我的应用有 2 个视图,第二个视图有一个子类 (UIView),我用它来绘制。
我使用从awakeFromNib 调用的计时器来为绘图设置动画。
- (void) awakeFromNib
{
timer = [NSTimer scheduledTimerWithTimeInterval:0.02 target:selfselector:@selector(ReDraw) userInfo:nil repeats:YES];
}
- (void) ReDraw
{
i++;
[self setNeedsDisplay];
}
现在,当我返回第一个视图并返回此视图时,绘图仍在运行(不再调用 awakeFromNib)。
当我返回第一个视图时,计时器不会停止。我希望在我返回时停止计时器,并在我再次访问第二个视图时重新开始绘图。
viewdidLoad 和 initWithFrame: 方法在子类中不起作用。
【问题讨论】:
-
UIViews 甚至没有 viewDidLoad 方法,只有 UIViewControllers。 viewWillAppear 和 viewWillDisappear 呢?我的意思是当你显示其他视图时,你可以在那里停止计时器。
-
没有viewWillAppear和viewWillDisappear
-
“它”属于哪一类?
-
它是一个Objective C 类,它是UIView 的子类。默认情况下,initWithFrame 方法与 drawRect 一起存在,但从未被调用。
标签: iphone objective-c drawrect