2015-09-11 61 views
1

我有View Controller with embedded SWRevealViewController我已經添加了下面的代碼來禁用所有使用菜單時的交互。如何讓SWRevealViewController菜單在用戶點擊視圖控制器時消失

viewcontroller嵌入tableview。

如何使菜單消失,當用戶視圖控制器作爲應用鬆弛敲「當菜單上的使用,你點擊聊天菜單消失」

class Feed: UIViewController,SWRevealViewControllerDelegate { 
@IBOutlet weak var menuButton:UIBarButtonItem! 

@IBOutlet weak var menuButton:UIBarButtonItem! 

override func viewDidLoad() { 
    super.viewDidLoad() 

    if self.revealViewController() != nil { 
     menuButton.target = self.revealViewController() 
     menuButton.action = "revealToggle:" 
     self.revealViewController().delegate = self 
     self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer()) 

    } 

    fetchMessages() 
} 





func revealController(revealController: SWRevealViewController!, willMoveToPosition position: FrontViewPosition) 
{ 
    if position == FrontViewPosition.Left  // if it not statisfy try this --> if revealController.frontViewPosition == FrontViewPosition.Left 
    { 
     self.view.userInteractionEnabled = true 
    } 
    else 
    { 
     self.view.userInteractionEnabled = false 
    } 

    func revealController(revealController: SWRevealViewController!, didMoveToPosition position: FrontViewPosition) 
    { 
     if position == FrontViewPosition.Left  // if it not statisfy try this --> if revealController.frontViewPosition == FrontViewPosition.Left 
     { 
      self.view.userInteractionEnabled = true 
     } 
     else 
     { 
      self.view.userInteractionEnabled = false 
     } 

    } 
} 
+0

什麼問題ü面臨 –

+0

當sw_rear菜單是我可以」 t回到視圖控制器「sw_front」,即使只點擊菜單按鈕或我從菜單 – marrioa

+0

中點擊它,所以我希望用戶點擊視圖控制器返回 – marrioa

回答

2

//集在您的視圖控制器類委託

class FeedVC: UIViewController,SWRevealViewControllerDelegate,UIGestureRecognizerDelegate 


override func viewDidLoad() { 
    super.viewDidLoad() 

    self.revealViewController().delegate = self 
    var swl=self.revealViewController() 


    if swl != nil 
    { 
     swl.panGestureRecognizer() 
     swl.tapGestureRecognizer() 
    } 
} 

//創建左邊欄按鈕動作

@IBAction func but_back(sender: AnyObject) { 

    self.navigationController?.interactivePopGestureRecognizer.delegate=self 
    self.navigationItem.leftBarButtonItem?.target=self.revealViewController() 
    self.navigationItem.leftBarButtonItem?.action=Selector("revealToggle:") 
    self.revealViewController().revealToggle(sender) 

    self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer()) 
} 

//設置SWLReval

func revealController(revealController: SWRevealViewController!, willMoveToPosition position: FrontViewPosition) 
{ 
    if position == FrontViewPosition.Left  // if it not statisfy try this --> if revealController.frontViewPosition == FrontViewPosition.Left 
    { 
     self.view.userInteractionEnabled = true 
     revealController.panGestureRecognizer().enabled=true 
    } 
    else 
    { 
     self.view.userInteractionEnabled = false 
     revealController.panGestureRecognizer().enabled=false 
    } 



} 

更新的代碼是在這個環節中可用的委託方法,下載該項目在here

+0

沒有工作都試過 – marrioa

+0

你可以把你的項目發到我的郵箱ID [email protected] –

+0

@marrioa - 你的swlrevalviewcontoller在故事板上,它在哪裏是失蹤的人 –

相關問題