2015-05-27 19 views
0

我遇到了我的UIPageViewController問題。我已經做了什麼sofar: 1.在pageViewController上,您可以左右滑動,以更改VC 2.添加橫向菜單。當添加橫向菜單,我創建pangesture識別並將其添加到pageContentVC(這樣我就可以拖動pageContentVC以關閉工具欄菜單)如何在一個視圖中保留兩個gestureRecognizers並在它們之間切換?

var menuViewController: UIViewController! { 
    didSet { 
     self.exitPanGesture = UIPanGestureRecognizer() 
     self.exitPanGesture.addTarget(self, action:"handleOffstagePan:") 
     // self.exitPanGesture.view?.userInteractionEnabled = false 
     self.sourceViewController.view.addGestureRecognizer(self.exitPanGesture) 

    } 
} 

這裏我設置pageContentVC到sourceVC的TransitionManager的:

func resetToMainPage(index: Int!) { 
    /* Getting the page View controller */ 
    mainPageViewController = self.storyboard?.instantiateViewControllerWithIdentifier("MainPageViewController") as UIPageViewController 
    self.mainPageViewController.dataSource = self 
    self.mainPageViewController.delegate = self 

    let pageContentViewController = self.viewControllerAtIndex(index) 

    self.transtionManger.sourceViewController = pageContentViewController // adding swipe to the pageContentViewControlle in order to close menu 

    self.mainPageViewController.setViewControllers([pageContentViewController!], direction: UIPageViewControllerNavigationDirection.Forward, animated: true, completion: nil) 


    self.mainPageViewController.view.frame = CGRectMake(0, 102, self.view.frame.width, self.view.frame.height) 
    self.addChildViewController(mainPageViewController) 
    self.view.addSubview(mainPageViewController.view) 
    self.mainPageViewController.didMoveToParentViewController(self) 

} 
  1. 關閉菜單後,我禁用了pangesture識別器。 `VAR presentingP:布爾{ didSet { 如果presentingP ==真{// 只啓用時的menucontroller視圖呈現

     self.exitPanGesture.view?.userInteractionEnabled = true 
        }else{ 
         // disable gesture recognizer when menu is not presented 
         self.exitPanGesture.view?.userInteractionEnabled = false 
    
         isMenuVisible = false 
        } 
    } 
    

    } `SOFAR手勢識別,我可以刷卡離開,並正確地改變VC。 問題是我無法在VC上滾動tableView。在禁用pageContentVC手勢之後,除了向左和向右滑動(更改VC)之外,所有內容都將變爲禁用狀態。問題:如何在一個視圖中保留兩個gestureRecognizers並在它們之間切換?

回答

2

您可以使用UIGestureRecognizerenabled屬性來禁用你不想使用並啓用另一個之一。

UIGestureRecognizer documentation

+0

它的工作原理!當我禁用exitPanGesture!是否有可能而不是分配PageContentViewController分配PageviewController?爲什麼這不起作用? –

相關問題