2016-07-10 3 views
0

行削除の例は通常textFieldDidEndEditingまたは他のジェスチャ/ユーザ入力メソッドを実装します。独立して、最下行から始まるUITableView行を自動的にフェードアウトさせます

私のバージョンの自動削除機能は、alphaを指定してanimateWithDurationを使用することです。シンプルで見栄えがいいです。

課題は、私が独立して任意のユーザのスクロールやユーザー入力のNSTimerまたはanimateWithDurationを経由して自動的にこのをやりたいです。最新の一番下の行から始まり、テーブルの上に移動するとアルファ0のままにしておくだけで、単純なフェードアウトです。

現在、行がすでにフェードアウトしているため、アプリケーションを開いたときに行が表示されません。これはいい。この問題は、ユーザーが新しい投稿を送信するたびに発生し、すべての「不可視の」行がアルファ1から再び表示され、その後すべてが一緒にフェードアウトします。私が代わりにcellForRowAtIndexPathを使用する必要があるので、私はそれは

アルファを0に消えていくだけで、新たな一番下の行は、アルファ1を持つアルファ0に滞在するために、前の行以上必要

はそれですか?または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を取得し、その位置のみが画面の下にある場合はアニメーションを開始できます。

関連する問題