2014-10-08 24 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