SWRevealViewController: Remove interaction on frontview when rearview is revealed

前端 未结 15 1304
迷失自我
迷失自我 2020-12-24 10:05

I need to disable user interaction on front view when rear view is revealed. Found some others asking the same thing but can\'t really understand where or how to implement t

15条回答
  •  鱼传尺愫
    2020-12-24 10:38

    On MenuTableViewController/ Rear VC, add SWRevealViewControllerDelegate.
    
        override func viewDidLoad() {
            super.viewDidLoad()
            self.revealViewController().delegate = self
    
            if self.revealViewController() != nil {
                self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer())
            }
        }
    
    Add this delegate method.
    
    func revealController(revealController: SWRevealViewController!, didMoveToPosition position: FrontViewPosition) {
            if(position.rawValue == 4)
            {
                //move to rear
                self.revealViewController().frontViewController.view.userInteractionEnabled =  false
            }
            else if (position.rawValue == 3)
            {
                //move to front - dashboard VC
                self.revealViewController().frontViewController.view.userInteractionEnabled =  true
            }
        }
        func revealController(revealController: SWRevealViewController!, willMoveToPosition position: FrontViewPosition) {
    
    //will perform the same function as the above delegate method.
        }
    

提交回复
热议问题