从底行开始独立自动淡出UITableView行

时间:2016-07-10 21:33:01

标签: swift uitableview

行删除的示例通常实现textFieldDidEndEditing或其他一些手势/用户输入方法。

我的自动删除功能版本是使用带有alpha的animateWithDuration。这很简单,看起来不错。

挑战是我希望通过NSTimeranimateWithDuration 自动执行 ,而不管任何用户滚动和用户输入即可。只是一个简单的淡出,从最新的底行开始,当它向上移动时保持alpha 0。

目前,当您打开应用时,您看不到任何行,因为行已经淡出。这很好。每次用户发送新帖子时都会出现问题所有“不可见”行从alpha 1开始再次出现,然后一起淡出。

我需要上面的前几行保持在alpha 0,只有新的底行有alpha 1然后它逐渐消失到alpha 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 个答案:

答案 0 :(得分:-1)

据我所知,你的问题是所有细胞都有活力。即使是最顶层的人。

如果是这样,你可以从UICollectionView中检索-visibleCells,并且如果它们的位置只在屏幕的底部,则开始动画。