2016-10-28 10 views
0

私はテーブルビューを持っており、メッセージを受け取ったときにリロードした後、メッセージを受け取ったセルに背景色を1秒間変更してから変更したいバック前の色Swiftを使用してtableviewcellの背景色をフェードイン/アウトする方法

(またはフェードイン/アウトせずに)私はそのコードとメッセージを受信したセルを知っているに:

if changeCell == indexPath.row { 

     cell.viewCell.backgroundColor = UIColor.red 

    } 

viewCell私はの背景色を変更するには、セルに入れ図であり、セルをもっと簡単に

私はloを検索します私はそれを置くとテーブルビュー外のビューの色が変わりました

+0

あなたは私たちですxcode 8とswift 3.0を使用していますか? –

+0

@HimanshuMoradiyaはい –

答えて

2

UIViewのアニメーションのファミリーは、あなたが望むものです。

​​
+0

答えに感謝しますが、すべてのセルがフェードイン/アウトしています –

0

アニメーションのため、これらのオプションを追加します。

  • をUIViewAnimationOptions.transitionCrossDissolve
  • UIViewAnimationOptions.allowAnimatedContent

例:

fileprivate var color1 = UIColor.clear 
fileprivate var color2 = UIColor.red 
fileprivate func animateCell(_ cell: UITableViewCell) { 

    UIView.animate(withDuration: 1.0, delay: 0.0, options: [.transitionCrossDissolve, .allowAnimatedContent], animations: { 
     cell.contentView.backgroundColor = self.color2 
    }) { (_) in 
     UIView.animate(withDuration: 1.0, animations: { 
      cell.contentView.backgroundColor = self.color1 
     }) 
    } 

} 
関連する問題