gpt4 book ai didi

ios - objective-c - 在两个 tableview 单元格 IOS 之间留出空间

转载 作者:行者123 更新时间:2023-11-28 18:49:50 24 4
gpt4 key购买 nike

我正在寻找一种在两个 UItableviewcells 之间添加空间的方法,就像在 facebook 中一样,找到了一个解决方案,请检查下面的代码

-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath{
cell.contentView.backgroundColor = [UIColor whiteColor];
UIView *whiteRoundedView = [[UIView alloc]initWithFrame:CGRectMake(8, 8, self.view.frame.size.width-18, cell.contentView.frame.size.height - 18)];
CGFloat colors[]={1.0,1.0,1.0,1.0};//cell color white
whiteRoundedView.layer.backgroundColor = CGColorCreate(CGColorSpaceCreateDeviceRGB(), colors);
whiteRoundedView.layer.masksToBounds = false;
whiteRoundedView.layer.cornerRadius = 5.0;
whiteRoundedView.layer.shadowOffset = CGSizeMake(-1, 1);
whiteRoundedView.layer.shadowOpacity = 0.3;
whiteRoundedView.layer.shadowColor = [UIColor lightGrayColor].CGColor;
[cell.contentView addSubview:whiteRoundedView];
[cell.contentView sendSubviewToBack:whiteRoundedView];}

这段代码给了我想要的输出,但问题是当我滚动 tablview 时,它一次又一次地调用并使我的应用变慢当我向下滚动时,阴影也在不断增加谁能帮我解决这个问题?

最佳答案

TableViewCells 被重用 - 如果你有很多行,它们会被一遍又一遍地重用。每次调用 willDisplayCell: 时,您都会添加另一个 whiteRoundedView。因此,在您滚动了一下并且一个单元格被重复使用 10 次之后,您已经添加了 10 个额外的 subview 。滚动一段时间,现在您已经添加了 几十个 subview 。您正在对每一行 执行此操作。

您可以:

a) 检查添加的 subview 是否存在,只有第一次才添加,或者...

b) 您可以创建一个自定义的 UITableViewCell 并根据需要对其进行格式化(更好的选择)。

关于ios - objective-c - 在两个 tableview 单元格 IOS 之间留出空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44202705/

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