gpt4 book ai didi

ios - 无法在 cellForRowAtIndexPath 中设置单元格 alpha

转载 作者:可可西里 更新时间:2023-11-01 06:18:49 25 4
gpt4 key购买 nike

在我的代码的一部分中,我调用了

UITableViewCell *cell = (UITableViewCell *)[self.tableView cellForRowAtIndexPath:indexPath];

获取一些单元格,然后我将它们的 alpha 更改为 .35。这有效,细胞看起来褪色了。

但是,当我滚动 tableview 时,移出窗口然后移回的单元格不再褪色。即使在 cellForRowAtIndexPath 中每个禁用行的 alpha 设置为 .35,也会发生这种情况。

就在我记录 cellForRowAtIndexPath 中返回单元格之前

NSLog(@"%f", cell.alpha);

它返回 .35

但是,滚动后cell不褪色?看起来好像它的 alpha 在显示之前神奇地变回了 1。

以下是我在 Section 类中实现的 cellForRowAtIndexPath

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell;

if ([self disabled])
{
cell = [SectionedTableViewController tableView:tableView dequeueReusableCellWithIdentifier:@"CellDisabled" style:UITableViewCellStyleDefault];
cell.alpha = .35;
}
else
{
cell = [SectionedTableViewController tableView:tableView dequeueReusableCellWithIdentifier:@"CellEnabled" style:UITableViewCellStyleDefault];
cell.alpha = 1;
}

cell.selectionStyle = UITableViewCellSelectionStyleNone;

//if-else block that only sets labels is here omitted

if (cell.textLabel.text == [[cs objectAtIndex:[self c]] type])
{
cell.accessoryType = UITableViewCellAccessoryCheckmark;
}

NSLog(@"%f", cell.alpha);

return cell;

协调这些部分的 View Controller 像这样从它们获取单元格:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSLog(@"Alpha: %f", [[[self sections] objectAtIndex:indexPath.section] tableView:tableView cellForRowAtIndexPath:indexPath].alpha);
return [[[self sections] objectAtIndex:indexPath.section] tableView:tableView cellForRowAtIndexPath:indexPath];
}

(并且 NSLog 正在记录适当的 alpha 值)

最佳答案

将所有 subview 添加到单元格的 contentView 并在 -cellForRowAtIndexPath 中使用以下字符串:

cell.contentView.alpha = {needed_value};

会为你工作。

关于ios - 无法在 cellForRowAtIndexPath 中设置单元格 alpha,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11269718/

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