2014-12-05 3 views
10

Ciao Sto cercando di convertire il seguente codice C obiettivo in rapido per navigare da un controller di visualizzazione a un altro controller di visualizzazione quando si fa clic su un pulsante. Qualsiasi aiuto sarebbe molto apprezzatoPresentazione di un controller di visualizzazione a livello di codice in rapido

Questo è tratto dal manuale di programmazione di Apple

- (void)add:(id)sender { 
// Create the root view controller for the navigation controller 
// The new view controller configures a Cancel and Done button for the 
// navigation bar. 
    RecipeAddViewController *addController = [[RecipeAddViewController alloc] 
        init]; 

// Configure the RecipeAddViewController. In this case, it reports any 
// changes to a custom delegate object. 
    addController.delegate = self; 

// Create the navigation controller and present it. 
    UINavigationController *navigationController = [[UINavigationController alloc] 
         initWithRootViewController:addController]; 
    [self presentViewController:navigationController animated:YES completion: nil]; 
    } 

il mio codice è indicato di seguito, ma non è sicuro come implementare nel controller di navigazione, nella storyboard mia mainSectionViewController è integrato con un Navigation controller

func sectionBtnClicked (sender: UIButton!) { 


     let sectionController = self.storyboard?.instantiateViewControllerWithIdentifier("mainSectionsVC") as mainSectionViewController 


     let navController = UINavigationcontroler. ///not sure what actually comes here, any help would be appreciated 


     self.presentViewController(navController, animated: true, completion: nil) 


} 

risposta

17

vuoi presentare navController modale?

se sì, questa è la risposta

self.presentViewController(navController, animated: true, completion: nil) 

"sé" è il controller vista corrente che presenterà il navController

E metterla in questo modo,

class ViewController: UIViewController {  

    override func viewDidLoad() { 
     super.viewDidLoad() 

     var theButton = UIButton() 

     // Add the event to button 
     theButton.addTarget(self, action: "buttonTouchInside:", forControlEvents: .TouchUpInside) 

     self.view.addSubview(theButton) 
    } 

    func buttonTouchInside(sender:UIButton!) 
    { 
     // When the button is touched, we're going to present the view controller 

     // 1. Wrap your view controller within the navigation controller 

     let navController = UINavigationController(rootViewController: yourViewController) 

     // 2. Present the navigation controller 

     self.presentViewController(navController, animated: true, completion: nil) 
    } 

} 

Ma,

Se si desidera navigare tra viewController nella navigationControlle r, è possibile utilizzare

self.navigationController.pushViewController(viewControllerToPush, animated: true) 
14

Ho fatto una soluzione semplice. Eccolo ..

func actioncall() { 
    let loginPageView = self.storyboard?.instantiateViewControllerWithIdentifier("LoginPageID") as! ViewController 
    self.presentViewController(loginPageView, animated: true, completion: nil) 
}