gpt4 book ai didi

IOS uitableviewcell 滚动时更改单元格的内容

转载 作者:行者123 更新时间:2023-11-28 21:51:30 25 4
gpt4 key购买 nike

嗨,我正在开发小型 IOS 应用程序,我在其中使用带有自定义单元格的表格 View 。我的单元格包含简单 View ,其中我有一个文本和一个图像。所以对于某些单元格,图像存在,而对于某些单元格,图像不存在.所以我动态地添加和删除它。它显示正确的输出,但是一旦我滚动并再次回到同一个单元格,它就会删除该图像。我按照以下方式尝试了

MediaContentCell *cell = (MediaContentCell *)[tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];

if (cell == nil) {
cell = (MediaContentCell *)[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableIdentifier];
}

[self setVideoCell:cell withIndex:indexPath.row];
[cell setSelectionStyle:UITableViewCellSelectionStyleNone];

-(void) setVideoCell:(MediaContentCell *)cell withIndex:(int)index
{
if(videoData.trailer)
{
cell.playButton.hidden = NO;
}
else
{
// [cell.playButton removeFromSuperview];

cell.playButton.hidden = YES;

// adding new contraints ....
[cell.contentDescription addConstraint:[NSLayoutConstraint constraintWithItem:cell.mediaTitle attribute:NSLayoutAttributeTrailing relatedBy:NSLayoutRelationEqual toItem:cell.contentDescription attribute:NSLayoutAttributeTrailing multiplier:1.0f constant:-10]];

[cell.contentDescription addConstraint:[NSLayoutConstraint constraintWithItem:cell.mediaSubtitle attribute:NSLayoutAttributeTrailing relatedBy:NSLayoutRelationEqual toItem:cell.contentDescription attribute:NSLayoutAttributeTrailing multiplier:1.0f constant:-10]];
}
}

在上面的例子中,它显示了正确的输出。但是一旦我上下滚动它就会改变输出。如何解决解决这个问题。我想要正确的带有图像的单元格,而其他单元格不会成像。需要一些帮助。谢谢。

最佳答案

如果 videoData.trailer 返回 false,您会将所有 cell.playButton 设置为 hidden。您也没有在 setVideoCell:withIndex: 中使用 index

您还在每次显示单元格时添加约束,这会导致大量重复的约束。约束必须在 MediaContentCellinitawakeFromNib 方法中设置一次。

关于IOS uitableviewcell 滚动时更改单元格的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28157167/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com