2016-07-10 30 views
0

行刪除的示例通常實現textFieldDidEndEditing或其他手勢/用戶輸入方法。獨立自動淡出UITableView從下排開始的行

我的版本的自動刪除功能是使用帶alpha的animateWithDuration。這很簡單,看起來不錯。

面臨的挑戰是,我想這通過NSTimeranimateWithDuration自動獨立做任何用戶滾動和用戶輸入的。只是簡單的淡出從最新的底部行開始,並保持alpha 0,因爲它向上移動。

當您在打開應用程序時看不到任何行,因爲行已經淡出。這很好。每次用戶發送新帖子時都會出現問題,所有「不可見」行再次出現在alpha 1處,然後全部淡出。

我需要高於前行留在阿爾法0只具有新底排的α1,那麼它很快就消失於α0

是不是因爲我需要使用cellForRowAtIndexPath呢?或者我需要使用dequeueReusableCellWithIdentifier方法嗎?

override func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell { 

let cell = super.collectionView(collectionView, cellForItemAtIndexPath: indexPath) as! CHEFTALKRecipeViewCell 

let recipe = recipes[indexPath.item] 

if recipe.posterId == posterId { 
    cell.textView!.textColor = UIColor.blackColor() 

    // STEP 1 
    cell.contentView.alpha = 1 

} else { 
    // do something 
} 

return cell 
} 

// STEP 2 
override func collectionView(collectionView: UICollectionView, willDisplayCell cell: UICollectionViewCell, forItemAtIndexPath indexPath: NSIndexPath) { 

UIView.animateWithDuration(2.0) { 
    cell.contentView.alpha = 0 
} 
} 

回答

-1

盡我所知你的問題是,所有的細胞動畫。即使是頂級的。

如果是這樣,您可以從UICollectionView中檢索-visibleCells,並且只要它們的位置位於屏幕底部就開始動畫。