SWRevealViewController on the right side on the fast

I use the SWRevealViewController library to quickly release the slide menu, but I try to put that menu in the right direction. I saw this comment in the library description

// Optional right view controller, can be nil if not used @property (nonatomic) UIViewController *rightViewController; 

but I am not familiar with objective C, and I cannot do it quickly. This is part of my code for the default menu (left):

 class ViewController: UIViewController, AVAudioPlayerDelegate { @IBOutlet weak var playlistOutlet: UIBarButtonItem! override func viewDidLoad() { super.viewDidLoad() playlistOutlet.target = self.revealViewController() playlistOutlet.action = Selector("revealToggle:") self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer()) } } 

And opensViewController is called from the SWRevealViewController library

+7
ios objective-c swift swrevealviewcontroller
source share
3 answers

I followed this decision, in the front siding controller use this:

 override func viewDidLoad() { super.viewDidLoad() if self.revealViewController() != nil { favoritesButton.target = self.revealViewController() favoritesButton.action = "rightRevealToggle:" self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer()) } } 

Remember to first create an output button on the toolbar. In the storyboard, set the segue value to sw_right

Xcode 7 Beta 6 Screenshot

And at first it did not work for me, but clean helped.

+22
source share

Can you try this code:

  var storyboard = UIStoryboard(name: "Main", bundle: nil) var sidemenuViewController = storyboard.instantiateViewControllerWithIdentifier("sideMenu") as! SideMenuViewController sidemenuViewController.delegate = self revealViewController().rightViewController = sidemenuViewController revealViewController().delegate = self sideMenuItem.target = self.revealViewController() self.revealViewController().rightViewRevealWidth = self.view.frame.width * 0.8 sideMenuItem.action = Selector("rightRevealToggle:") 
+3
source share

Swift 3

Add this code to your ViewController monitor.

 if revealViewController() != nil{ sideMenuBtn.target = revealViewController() sideMenuBtn.action = #selector(SWRevealViewController.rightRevealToggle(_:)) view.addGestureRecognizer(self.revealViewController().panGestureRecognizer()) } 

on MainStoryBoard

Set segue id to sw_right instead of sw_rear

  • Worked for me
+3
source share

All Articles