gpt4 book ai didi

ios - 即使里面没有数据,如何设置 UITableViewCell 的自定义背景颜色

转载 作者:行者123 更新时间:2023-11-28 18:22:21 26 4
gpt4 key购买 nike

我想完成这样的事情:

Table view cell

看到只有一个数据,但是背景颜色一直持续到结束。

我知道我可以在 tableView:willDisplayCell:forRowAtIndexPath: 的 tableview delegate 里面做。但它不会进入空单元格,因此我的空单元格始终是白色的。

最佳答案

即使单元格未初始化,我也使用以下代码显示单元格替代颜色。我已经在 scrollViewDidScroll 上完成了这项工作,如下所示:--

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
UIView *view=[[UIView alloc] initWithFrame:tblView.frame];
view.backgroundColor=[UIColor greenColor];

UIView *cellView;

int y=0;
int i=0;

for (UIView *view in tblView.subviews) {
if ([NSStringFromClass([view class]) isEqualToString:@"_UITableViewSeparatorView"]) {

cellView=[[UIView alloc] initWithFrame:CGRectMake(0, y, 320, 44)];

if (i%2==0) {
cellView.backgroundColor=[UIColor redColor];
}else{
cellView.backgroundColor=[UIColor greenColor];
}

[view addSubview:cellView];
i++;
}
}

tblView.backgroundView=view;
}

并且在滚动 TableView 上得到了正确的结果。但问题是当用户至少一次滚动 tableView 时它会起作用。如果您成功触发 tableView 上的事件并完成其重新加载。那么就没问题了。

这是我在滚动 tableView 时得到的输出。

enter image description here

我也写了这个方法来手动调用 didScrollMethod 但似乎并不完美。

[tblView.delegate scrollViewDidScroll:(UIScrollView*)tblView.superclass];

但是像下面的代码这样的调用方法绝对可以正常工作。

- (void)viewDidLoad
{
tblView=[[MyFirstView alloc] init];
tblView.delegate=self;
[tblView setFrame:self.view.frame];

[self.view addSubview:tblView];

[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}

-(void)viewDidAppear:(BOOL)animated{
[tblView.delegate scrollViewDidScroll:(UIScrollView*)tblView.superclass];
}

意味着在 viewDidLoad 中加载 tableView 后调用 viewDidAppear 中的 didScroll 工作正常。

如果滚动时第一行发生波动,请插入下面的代码。

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
UIView *view=[[UIView alloc] init];
return view;
}

关于ios - 即使里面没有数据,如何设置 UITableViewCell 的自定义背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17961586/

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