2017-02-16 8 views
0

左から右にスワイプを検出するUITableViewがあります。私は、ユーザーがスワイプを行うときに削除ボタンを表示するには、その上の幅の制約の定数を変更します。しかし、私がボタンを何をしようとしても、アニメーションや幅の変更は全くありません。制約の変更を表示するボタンを得ることができる唯一の方法は、行をリロードすることです。UITableViewCellアニメーションボタンの制約

これは私が今持っているものです。私が見るすべての答えには、制約をアニメーション化するこの方法が含まれています。

func TableViewSwipeRight(gesture: UIGestureRecognizer) 
{ 
    let point = gesture.location(in: favoriteStationsTableview) 
    let indexPath = favoriteStationsTableview.indexPathForRow(at: point) 

    if let indexPath = indexPath { 
     if let favoriteCell = favoriteStationsTableview.dequeueReusableCell(withIdentifier: FavoriteCell.GetReuseId(), for: indexPath) as? FavoriteCell { 
      self.view.layoutIfNeeded() 
      favoriteCell.deleteBtnConstraint.constant = 50 
      UIView.animate(withDuration: 0.5, animations: { 
       self.view.layoutIfNeeded() 
      }) 
     } 
    } 
} 

答えて

0

あなたが与えられたindexPathのセルを取得し、それをデキューないようにする必要があります(それはこの時点でテーブルビューの一部ではないだろうと。)

if let indexPath = indexPath { 
    if let favoriteCell = favoriteStationsTableview.cellForRowAtIndexPath(indexPath) as? FavoriteCell 
    { 

    } 
+0

感謝を!それは働いた – Arthur

関連する問題