我正在研究在UIPageViewController
內具有可滑動表格單元格的項目。 UIPageViewController's
UIScrollView
最初被禁用。當您滑動單元格時,它會通過UIPanGestureRecognizer
緩慢顯示一個按鈕,並且當該按鈕完全顯示時,可滑動表格單元會向UIPageViewController
(其代表)滾動以發送消息。iOS - 如何在UIPageViewController中設置UIScrollView重新啓用後開始滾動
當滾動功能啓用時,我需要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]];
}
}
我理解是將滾動視圖內容偏移設置爲當前正在觸摸的位置應該使滾動再次激活,但這一切都是讓我的整個屏幕變暗。
關於我可能做錯什麼的想法?
下面是這個任務的一個很好的示例回購:https://github.com/goktugyil/EZSwipeController – Esqarrouth