我相信我执行不正确cellForRowAtIndexPath
。我有一个UISlider
默认隐藏的,当在表格单元格中按下按钮时出现。当我按下第一个单元格中的按钮时,滑块不仅出现在第一个单元格中,而且在我向下滚动时每隔三个单元格出现一次。我目前通过将滑块的 hidden 属性重置为YES
in来避免这种情况cellForRowAtIndexPath
。我也对默认隐藏的单元格中的其他视图执行此操作。当我向上滚动到第一个单元格时,这会产生一个新问题,滑块被隐藏,因为属性在cellForRowAtIndexPath
. 这让我相信我做错了什么。
这是我的代码:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
SongsCustomCell *songCell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (songCell == nil) {
songCell = [[SongsCustomCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
NSLog(@"new cell created");
}
NSDictionary *dictionary = [parseTrackArray objectAtIndex: indexPath.row];
NSString *trackTitle = [dictionary objectForKey:@"trackTitle"];
NSString *trackLink = [dictionary objectForKey:@"trackStreamLink"];
songCell.trackLinkString = trackLink;
songCell.trackTitleString = trackTitle;
[songCell.trackTitleLabel setFont:[UIFont fontWithName:@"Calibri" size:22]];
songCell.trackTitleLabel.text = [NSString stringWithFormat:@"%@", trackTitle];
songCell.playButton.hidden = NO;
songCell.playbackSlider.hidden = YES;
songCell.playerHasLoaded = NO;
songCell.moviePlayer.view.hidden = YES;
return songCell;
}