2017-10-02 4 views
1

IOSの11(Xcodeの9.0、スイフト4)(ViewControllerで)UITableViewの上gestureRecognizersUIPanGestureRecognizerUITapGestureRecognizer)を使用する場合、機能scrollViewDidScrollを自動的にタップ場合でも実行contentOffsetジャンプ(tableViewが実際にスクロールせずに)左右に移動したり、短時間の間にcontentOffsetジャンプ(iPhone Xでは-140、iPhone 8では-116)を行った場合、正常に戻ります。 contentOffsetジャンプはUIでは表示されませんが、コンソールで印刷できます。 (アニメーションを起動します。アニメーションは、あるオフセットに関連付けられています)。 gestureRecognizersを無効にすると問題が解決しますが、上下左右にスクロールする以外の操作(叩き、左右にパンするなど)が必要です。のUITableView:scrollViewDidScrollを実行したときgestureRecognizersアクティブ

この問題は、古いファームウェアでは発生しません(テスト済みのiOS 10.3 .1)。 scrollViewDidScroll関数も実行されず、contentOffsetも変更されません。

私はどんなヒントにも非常に感謝しています。

答えて

0

いくつかの同様の投稿で正解とマークされていても、​​(IBまたはコード内)のオプションを無効にすることは、方程式の一部に過ぎないことが判明しました。

UITableViewにいくつかの制約が正しく設定されておらず、そのバグが原因でした。 すべての制約を正しく取得(または完全に削除)し、前述のオプションを無効にすると、私のために修正されました。

関連する問題