2017-12-28 30 views
0

UIViewの幅/高さを移動するデリゲートUIPanGestureRecognizerを作成しようとしていますが、特定のx値に当たったときにこの奇妙なフリッカーが発生しています。値はしきい値を下回ります(下の例では65ピクセル)。UIPanGestureRecognizer内のUIView.animate

@objc func moveCardRec(sender: UIPanGestureRecognizer){ 
    if sender.translation(in: self).x < -65.0 { 
     self.makeButtonPop() 
    } else { 
     self.makeButtonUnPop() 
    } 
} 

それは私がパンジェスチャーがUIView(私は秒間アニメーション/ポップしたい1)が遅れているときに、第2のために移動したり、フレームをリセットされるとxの値を動かしてるのビューのようです。全く分からない。

今起こっていることのgifを添付してください。あなたはそれが分裂するとそれが気になることが分かります。 makeButtonPop()の機能は、円形画像ビューの枠内にチェックマークが付いたUIView.animateです。

enter image description here

答えて

0

さて、私は愚かです。これに時間を費やした。

修正方法が見つかりました。アニメーション化するUIViewが(親のように)UIViewに含まれていることを確認してください。上記の例では、紫の円は、サイズを変更しないUIViewの範囲内にあります。

親の中の子はサイズを変更します。アニメ化されたUIViewと私がドラッグしているものが同じコンテナ/同じ直属の親にある何らかの理由で、お互いが気に入らず、ちらつきます。

これは他の人に役立つことを願っています!

関連する問題