SnapChat と同様に、ユーザーが左または右にスワイプしてビュー コントローラー間を移動できるように、アプリケーションをセットアップしました。UIScrollView
ページングを有効にした を使用してこれを実装しました。
私も実装したいSnapChatの機能の1つは、ユーザーがテーブルビューでセルを選択し、それをスライドさせ始め、特定のポイントの後にセルを「ロック」する機能です。ビュー全体を画面全体に引き込みます。SnapChat を使用したことがない場合、これを想像するのは少し難しいかもしれません。そのため、私が話している内容の画像を含めました。
UIScrollView を使用してこの機能を実装するにはどうすればよいですか?
現在、私のScrollViewのView Controllerの1つには、スワイプを検出したときにスライドできるジェスチャー認識機能を含むUITableView
カスタムがあります。UITableViewCells
Gesture Recognizer が一定量以上の平行移動を検出すると、ビュー コントローラーに対するセルのスライドが停止し、代わりにスクロール ビュー全体がスライドし始めます。
これは、SnapChat とほぼ同じ効果を達成しますが、見た目が良くなく、非常にバグが多いです。たとえば、ユーザーがテーブルビュー セルをフリックしようとすると (SnapChat でよく行われるように)、ファンにヒットします。
SnapChat のこの機能の実装は、セルを一定量スライドさせた後、ユーザーがスクロール ビューの「制御を保持する」という印象を与えます。これは非常に洗練されたユーザー エクスペリエンスであり、それを再現する方法がわかりません。
提供すべき追加の役立つ情報 (これまでのコードなど) がある場合は、お知らせください。