具有动态数据初始化的 UiTableviewCell 无法正确加载
UiTableviewCell with dynamic data init not loading correctly
在我的单元格中,数据正在加载,但在我向下滚动之前它都是乱七八糟的,然后如果我向后滚动所有格式正确。因此,当我加载 uitable 的每个列表时,查看数据都被弄乱了,一旦我开始滚动并向上滚动,它就会到位并正确显示。请帮忙
我的代码
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
}
for(UIView *v in [cell subviews])
{
if([v isKindOfClass:[UILabel class]])
[v removeFromSuperview];
if ([v isKindOfClass:[UIImageView class]])
[v removeFromSuperview];
}
UIView *CellBGView = [[UIView alloc] initWithFrame:CGRectMake(10, 5, cell.frame.size.width-20, cell.frame.size.height-10)];
CellBGView.backgroundColor = [UIColor whiteColor];
UIImageView *divider = [[UIImageView alloc] initWithFrame:CGRectMake(CellBGView.frame.size.width-155, CellBGView.frame.size.height-140, 150, 150)];
divider.image = [UIImage imageNamed:@"icon_alpha.png"];
[CellBGView addSubview:divider];
......
return cell;
}
这是我打开列表时和滚动之前的输出 table
滚动后一切就绪
我有一个解决方案给你。
首先,创建UITableViewCell
的子类(例如命名为DemoTableViewCell
)
在 DemoTableViewCell
的 initWithStyle
方法中,将您的图像和标签添加到单元格。
在 cellForRowAtIndexPath
中,您不需要添加或删除图像和标签。只需为它们更改颜色或设置图像即可。
在我的单元格中,数据正在加载,但在我向下滚动之前它都是乱七八糟的,然后如果我向后滚动所有格式正确。因此,当我加载 uitable 的每个列表时,查看数据都被弄乱了,一旦我开始滚动并向上滚动,它就会到位并正确显示。请帮忙
我的代码
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
}
for(UIView *v in [cell subviews])
{
if([v isKindOfClass:[UILabel class]])
[v removeFromSuperview];
if ([v isKindOfClass:[UIImageView class]])
[v removeFromSuperview];
}
UIView *CellBGView = [[UIView alloc] initWithFrame:CGRectMake(10, 5, cell.frame.size.width-20, cell.frame.size.height-10)];
CellBGView.backgroundColor = [UIColor whiteColor];
UIImageView *divider = [[UIImageView alloc] initWithFrame:CGRectMake(CellBGView.frame.size.width-155, CellBGView.frame.size.height-140, 150, 150)];
divider.image = [UIImage imageNamed:@"icon_alpha.png"];
[CellBGView addSubview:divider];
......
return cell;
}
这是我打开列表时和滚动之前的输出 table
滚动后一切就绪
我有一个解决方案给你。
首先,创建
UITableViewCell
的子类(例如命名为DemoTableViewCell
)在
DemoTableViewCell
的initWithStyle
方法中,将您的图像和标签添加到单元格。在
cellForRowAtIndexPath
中,您不需要添加或删除图像和标签。只需为它们更改颜色或设置图像即可。