我有UITableViewCell(灰色背景颜色)和它的子视图(白色背景颜色)用于表示水平时间轴,并显示从0到57分钟的时间进度,如下所示:
此红色圆形也是带有标签的UIView,它作为属性添加到timelineView
类(没有插座设置)。
@property (nonatomic, strong) RLZGrandPrixLapView *lapView;
当数据源更新时,我会发送[self setNeedsDisplay]
重绘lapView
。对于续订标签值和lapView
位置,我在-drawrect
:
self.lapView = nil;
[self.lapView removeFromSuperview];
self.lapView = [[NSBundle mainBundle]loadNibNamed:@"RLZGrandPrixLapView" owner:self options:nil][0];
[self.lapView setLabelWithValue:[NSString stringWithFormat:@"%d", (int)self.currentLap]];
self.lapView.frame = CGRectMake(lapsWidthPointer + (kStartCoordinate - 10), -15, self.lapView.frame.origin.x, self.lapView.frame.origin.y);
[self addSubview:self.lapView];
想法是删除旧lapView
并根据新值设置和添加新坐标。在此之前,我尝试检查lapView
是否等于nil
,并且它始终为零。因此,每次我更新 - 我创建新的,但不能删除以前。
我在这里缺少什么?