ios - 动画立即完成,无论持续时间和延迟如何

标签 ios swift animation

我有这个动画 block ,但是cell背景颜色立即clear:

cell.mylabel.backgroundColor = .orange
UIView.animate(withDuration: 3.0, delay:3, animations: {
    cell.mylabel.backgroundColor = .clear
})

重点是我在 cellForRowAt

中运行它

我尝试将动画移动到我的自定义单元格,但再次没有成功:

override func didMoveToWindow() {
            UIView.animate(withDuration: 3.0, delay:3, animations: {
                self.mylabel.backgroundColor = .clear
            })
    }

最佳答案

The point is I am running this in cellForRowAt

这还为时过早,因为单元格可能尚未位于屏幕 View 层次结构中。您只能对屏幕 View 层次结构中的 View 进行动画处理。您需要找到一种方法在将单元格添加为 TableView 的 subview 后添加动画。

我会创建一个自定义UITableViewCell子类。在子类中,我将覆盖 didMoveToWindow将动画添加到 self .

或者,也可以覆盖 viewDidLayoutSubviews在 TableView Controller (如果有的话)中,并在该方法中添加动画。

关于ios - 动画立即完成,无论持续时间和延迟如何,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39462683/

相关文章:

ios - Xcode 6 - 无法为 Ad-Hoc 分发选择签名证书/配置文件。一直默认

iphone - [self.view addSubview :_topViewController. View ];自转问题

ios - TextField 未添加到 ScrollView

ios - 当我触摸任何按钮时,我的应用程序崩溃了

swift - Swift 语言中的#ifdef 替换

android - 如何在android中动画绘制圆弧

android - Activity 过渡效果

ios - 请求 Uber real ride with surge confirmation 时收到 409 unknown error 的响应

ios - 如何在 Realm 中创建 NSData 对象的可选列表(数组)?

javascript - 为 pacman 创建动画的更简单方法