I have a view in my xib file which contain buttons. i want to move to a ViewController when i will press the button (@IBAction)
. I have used below code
let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle:nil)
let nextViewController = storyBoard.instantiateViewControllerWithIdentifier("About") as! AboutViewController
self.presentViewController(nextViewController, animated: true, completion: nil)
I am getting the error "Value of type 'SlideMenuView' has no member 'presentViewController'.
because my class is a UIView type :
class SlideMenuView: UIView {
}
so how can I navigate to other view controller.
I did it in a different way. In class file
class SlideMenuView: UIView {
var navigationController: UINavigationController? // Declare a navigation controller variable
// And create a method which take a navigation controller
func prepareScreen(navController: UINavigationController)-> UIView {
// In Button action
@IBAction func btnAction(sender: UIButton) {
}
// For calling from UIViewController
That is beacuase the class you are trying to present from is a
UIView
and not aUIViewController
. It has no Present method.I'm guessing your view (SlideMenuView) is embedded inside a viewcontroller. what you need to do is implement a delegate, and inform your containing viewController to present next Viewcontroller.
code below:
now, in your viewController, implement this delegate method:
Also, dont forget to assign the sliderMenuView object the viewcontroller as a delegate. something like: