我的自定义UIView
有一个自定义tableViewCell
,当我向下滚动时,它似乎在重复。前5个单元格将具有唯一视图,但第二组5个单元格将重复第一组单元格中的UIViews。我觉得我非常熟悉我的单元格出列,但在重复使用单元格之前,我似乎无法重置UIViews
。我在重复使用tablebview单元时已经阅读了很多关于重复的SO答案,但似乎没有任何工作。这可能与我的UIView是IBOutlet有关吗?
每个表格视图单元格都有一个唯一的UIBezierPath
,它设置为views path属性。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString* identifier = @"audioTableCell";
OSAudioTableCell *cell = [self.audioTable dequeueReusableCellWithIdentifier:identifier];
if(cell == nil)
{
cell = [[OSAudioTableCell alloc] initWithStyle: UITableViewCellStyleDefault reuseIdentifier: identifier];
}
Recording * recording = [self.managedDocument.frc objectAtIndexPath:indexPath];
cell.waveView.path = nil;
cell.waveView.minAmpl = [recording.minAmpl floatValue];
NSData * pathData = recording.waveData;
cell.waveView.path = [NSKeyedUnarchiver unarchiveObjectWithData:pathData];
[cell setImageSize:cell.waveView.bounds.size];
}
我已经尝试在我的自定义tableview单元格中的prepareForReuse
方法中将UIView设置为nil,但它没有任何区别。