2014-10-08 25 views
1

嗨,我试图改变从一个UITableView默认taxtLabel的阿尔法表格时滚动,但我收到此错误:如何动画UITableView中的textLabel的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 
     }) 
    } 
} 

回答

6

添加空return声明在闭合

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

您使用的是紧凑型(缩短)关闭版本的结尾,其中有小鬼合法回报。会发生什么情况是编译器会将您的代码读取为:

return cell.textLabel??.alpha = 0.0 

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

+0

会添加animateWithDuration方法的',completion:nil'部分不会产生影响吗?我的标签似乎都动画他们的阿尔法罚款,包括那部分,没有明确的回报...或者我错过了什么?哈哈 – 2014-12-27 21:51:21