gpt4 book ai didi

ios - UICollectionViewCell 中 UILabel 的 UIView 动画 block 不起作用

转载 作者:行者123 更新时间:2023-12-01 18:41:50 26 4
gpt4 key购买 nike

我有自定义 collectionview 单元格(项目)。我有很多UILabels在每个项目中。根据来自服务器的数据,我想适本地更新标签。通过重新加载相应的项目来更新数据工作正常。代码:

 isUpdate = YES;
[_collectionView performBatchUpdates:^{
[_collectionView reloadItemsAtIndexPaths:bufferUpdateRow];
} completion:^(BOOL finished) {}];

cellForItemAtIndexPath方法,我检查更改,如果有,我想使用动画 block ,但它似乎不起作用。
-(UICollectionViewCell*)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {

static NSString *cellID = @"CellID";

CollectionViewCell *cell = (CollectionViewCell*)[collectionView dequeueReusableCellWithReuseIdentifier:cellID forIndexPath:indexPath];

// Update label content here

if (isUpdate) {
_label1.layer.backgroundColor = [UIColor redColor];
[UIView animateWithDuration:1 delay:0 options:UIViewAnimationOptionAllowUserInteraction animations:^(void) {
_label1.layer.backgroundColor=[UIColor clearColor].CGColor;
} completion:nil];

isUpdate = NO;
}
return cell;
}

标签没有像我想要的那样闪烁红色。相反,它只是保持清晰。如果我删除动画 block ,标签会变成红色(这表明更新检测工作正常)。请帮忙

最佳答案

这可能是因为您在 cellForRowAtIndexPath 中创建动画。方法。此方法仅用于初始化单元格并设置其数据,而不是为其设置动画。

您将有更好的机会实现 UITableViewDelegate并将代码放入:

func tableView(tableView: UITableView, willDisplayCell: UITableViewCell, forRowAtIndexPath: NSIndexPath)

关于ios - UICollectionViewCell 中 UILabel 的 UIView 动画 block 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41759166/

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