gpt4 book ai didi

ios - 我如何在单元格加载时淡入淡出?

转载 作者:行者123 更新时间:2023-11-28 09:58:38 25 4
gpt4 key购买 nike

目前我正在用这个方法使用一个类。

class TipInCellAnimator {
// placeholder for things to come -- only fades in for now
class func animate(cell:UITableViewCell) {
let view = cell.contentView
view.layer.opacity = 0.1
UIView.animateWithDuration(0.1) {
view.layer.opacity = 1
}
}
}

然后在我的主视图 Controller 中调用它,如下所示

override func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell,
forRowAtIndexPath indexPath: NSIndexPath) {
TipInCellAnimator.animate(cell)
}

我遇到的问题是,当项目重新加载时,单元格会闪烁,因为它正在淡入,我无法点击屏幕来停止滚动。

有没有人对如何解决这些问题或其他达到相同效果的方法有一些提示?

最佳答案

通过查看您的代码,单元格“闪烁”的最明显原因是动画的持续时间。尝试将持续时间从 0.1 增加到 0.5

对于第二个问题,iOS 在其 View 处于动画状态时默认会忽略用户交互。要启用此功能,请将 UIViewAnimationOptions 中的选项设置为“AllowUserInteraction”。

Swift 1.2请引用以下代码

class func animate(cell:UITableViewCell) {
let view = cell.contentView
view.layer.opacity = 0.1
UIView.animateWithDuration(0.5, delay: 0, options: .AllowUserInteraction | .CurveEaseInOut, animations: { () -> Void in
view.layer.opacity = 1
}, completion: nil)
}

或者在 Swift 2.0 中

class func animate(cell:UITableViewCell) {
let view = cell.contentView
view.layer.opacity = 0.1
UIView.animateWithDuration(0.5, delay: 0, options: [.AllowUserInteraction, .CurveEaseInOut], animations: { () -> Void in
view.layer.opacity = 1
}, completion: nil)
}

关于ios - 我如何在单元格加载时淡入淡出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32879566/

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