我的控制器中有两个 UIView 成员,progressLineView 和 buttonsView。在某些时候,我称这个方法为:
- (void) drawPlayProgressLine{
progressLineView = [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, 1, buttonsView.frame.size.height)];
progressLineView.backgroundColor = [UIColor whiteColor];
[buttonsView addSubview:progressLineView];
}
一切正常,我还有一个改变视图位置的方法:
- (void) moveProgressLine{
CGRect frame = progressLineView.frame;
frame.origin.x++;
progressLineView.frame = frame;
}
在该moveProgressLine
方法被调用了几次之后,我想drawPlayProgressLine
再次调用,而不是将视图完全移动到起始位置,它会创建一个新视图。调用的越drawPlayProgressLine
多,我在屏幕上获得的视图就越多,但我只需要一个。
我不明白当我只创建一个对象时会发生这种情况。如何移动视图而不是每次都创建一个新视图?还有一个问题:如何才能完全删除(直到drawPlayProgressLine
调用该方法再次创建它)