内にスワイプ可能なテーブルセルを持つプロジェクトに取り組んでいますUIPageViewController
。はUIPageViewController's
UIScrollView
、最初は無効になっています。セルをスワイプすると、 a を介してゆっくりとUIPanGestureRecognizer
ボタンが表示され、ボタンが完全に表示されると、Swipeable Table Cell はUIPageViewController
(そのデリゲート) にメッセージを送信してスクロールを有効にします。
スクロールが有効になってUIPageViewController
いる場合、ユーザーがまだ指をスワイプしている間にスクロールを開始する必要があります。この機能は、右にスワイプして友達とチャットする Snapchat のようなものです。UIScrollView
しかし、有効になっていてもスクロールを開始しません。ユーザーは指を画面から離してから再び指を置き、再びスワイプして次のビューへのスクロールを開始する必要があります。にはUIPageViewController
、スクロールを有効または無効にする次のコードがあります。
+(void)enableScrolling
{
NSLog(@"supposed to enable");
[myScrollView setScrollEnabled:YES];
if (myScrollView.isScrollEnabled == YES) {
NSLog(@"Scroll view is enabled");
}
//[myScrollView.panGestureRecognizer setState:(UIGestureRecognizerState *) UIGestureRecognizerStateBegan];
}
+(void)disableScrolling
{
NSLog(@"supposed to disable");
[myScrollView setScrollEnabled:NO];
if (myScrollView.isScrollEnabled == NO) {
NSLog(@"Scroll view is disabled");
}
}
UIPageViewController's
UIPanGestureRecognizer
ユーザーがまだスワイプしている場合、スクロールを開始するように何らかの方法で指示する必要があるかどうか疑問に思っていますか? 私はこの仕事をするのに非常に近いです。アドバイスをいただければ幸いです。ありがとう。
編集:
ページ ビュー コントローラー クラスの enableScrolling メソッドに次のコード行を追加しました。
[myScrollView setContentOffset:[myScrollView.panGestureRecognizer translationInView:myPageViewController.view]];
これは私の更新された方法です:
+(void)enableScrolling
{
NSLog(@"supposed to enable");
[myScrollView setScrollEnabled:YES];
if (myScrollView.isScrollEnabled == YES) {
NSLog(@"Scroll view is enabled");
[myScrollView setContentOffset:[myScrollView.panGestureRecognizer translationInView:myPageViewController.view]];
}
}
私の理解では、スクロールビューのコンテンツオフセットを現在の位置に設定すると、スクロールが再びアクティブになるはずですが、これは画面全体を暗くするだけです。
私が間違っているかもしれないことについてのアイデアはありますか?