17

Swipe Gesture Recognizer と組み込みの Navigation Controller を使用して、View Controller 間のスワイプ ナビゲーションをアプリに実装しようとしましたが、Snapchat のナビゲーションにさえ似ていません。

そのような機能を実装する最も効率的で適切な方法は何でしょうか?

私は Swift とプログラミングの初心者であり、すべての有益なコメントに感謝します。

4

7 に答える 7

20

短いバージョンは、コントローラー内にスクロールビューを備えたコンテナー ビュー コントローラーを使用することです。次に、アプリケーションで必要な画面ごとに個別のビュー コントローラーを作成し、それらのビュー コントローラーの親をコンテナー ビュー コントローラーにします。

サンプル コードを含む github リポジトリは、こちらにあります。

于 2014-07-31T07:36:25.633 に答える
3

UIPageViewController を使用し、これらのメソッドを削除してドット バーを非表示にすることをお勧めします。

presentationCountForPageViewController
presentationIndexForPageViewController

ここに良いチュートリアルがあります:

https://www.youtube.com/watch?v=8bltsDG2ENQ

これは素晴らしいレポです:

https://github.com/goktugyil/EZSwipeController

于 2015-07-16T13:49:06.800 に答える
1

Snapchat の場合の PageViewController ではなく、Paged Scroll View。

于 2014-08-06T19:13:50.537 に答える
1

最初は で実装された同様の要件がありましたが、後で各セルがフルスクリーンでスクロールが水平に設定されている場所にPageController変更しました。UICollectionView

于 2016-09-14T13:16:45.750 に答える
0

CATransitionスワイプ アニメーションの作成に使用できます。あるビューから別のビューにスワイプする方法の例を次に示します。

    UIView *parentView = [self.view superview];

CATransition *animation = [CATransition animation];
[animation setDuration:0.25];
[animation setType:kCATransitionPush];
[animation setSubtype:kCATransitionFromLeft];
[animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];

[parentView addSubview:yourSecondViewController.view];
[self.view removeFromSuperview];

[[theParentView layer] addAnimation:animation forKey:@"showSecondViewController"];

ここでそのコードの一部を見つけました:ビュー間でスワイプ/スライドアニメーションを実装するにはどうすればよいですか?

于 2014-07-11T13:42:23.737 に答える