从任何ViewController打开SWRevealViewController时,如何使背景ViewControllers模糊

时间:2016-07-28 12:38:50

标签: ios objective-c iphone

当我从任何ViewController(例如:HomeVC)打开SWRevealViewContrtoller(侧面菜单)时,背景视图控制器(HomeVC)应该模糊或变暗。

2 个答案:

答案 0 :(得分:1)

谢谢最后我得到了解决方案。

在主视图控制器中进行这些更改。

-(void)initialSetup
 {
   self.revealViewController.delegate = self;
 }
- (void)revealController:(SWRevealViewController *)revealController didMoveToPosition:(FrontViewPosition)position
 { 
   if (position == FrontViewPositionRight) 
     {
       revealController.frontViewController.view.alpha = 0.5;
     }
   else
    {
      revealController.frontViewController.view.alpha = 1;
    }
 }

答案 1 :(得分:0)

这是一种更好的方法,这种方式可以确保当您点击菜单并转到另一个segue时,前视图仍然会更新。

在您的MenuVC中(位于后面的View View控制器,作为侧面菜单)。添加以下内容。

override func viewWillAppear(_ animated: Bool) {

    self.revealViewController().frontViewController.view.alpha = 0.5
}

override func viewWillDisappear(_ animated: Bool) {

    self.revealViewController().frontViewController.view.alpha = 1
}

这是一个非常基本的实现,但有了这个,你也可以使它变暗,做更多的事情等。但我发现这种方式是最好的,因为它处理所有边缘情况(希望:D)。 / p>