如何在UITableView中为textLabel的alpha设置动画?

时间:2014-10-08 18:33:27

标签: swift ios8 uiviewanimation

嘿伙计我正在尝试在滚动表时从UITableView更改默认taxtLabel的alpha但我收到此错误:

Cannot invoke 'animateWithDuration' with an argument list of type '(FloatLiteralConvertible, animations: () -> () -> $T2)'

我的代码是:

override func scrollViewDidScroll(scrollView: UIScrollView) {
    for cell in tableView.visibleCells() {
        UIView.animateWithDuration(0.5, animations: {
            cell.textLabel??.alpha = 0.0
        })
    }
}

1 个答案:

答案 0 :(得分:6)

在结束时添加一个空的return语句

UIView.animateWithDuration(0.5, animations: {
    cell.textLabel??.alpha = 0.0
    return // <== add this
})

您使用的是紧凑(缩短)闭包版本,它具有隐式返回。发生的事情是编译器将您的代码读取为:

return cell.textLabel??.alpha = 0.0

并且与闭包签名不匹配,因此编译错误。添加return语句会明确表明闭包没有返回值。