2014-12-05 7 views
10

Привет, Я пытаюсь преобразовать следующий объективный код C в быстрый переход от одного контроллера представления к другому контроллеру представления при нажатии кнопки. любая помощь была бы оцененаПредставление контроллера представления программно в swift

Это взято из руководства по программированию яблока

- (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]; 
    } 

мой код указан ниже, но не уверен, как реализовать в навигационном контроллере, в раскадровке мой mainSectionViewController встраивается с Контроллер навигации

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) 


} 

ответ

17

Вы хотите представить navController modally?

если да, это ответ

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

"я" ток-контроллер, который представит NavController

И поставил его так,

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) 
    } 

} 

Но,

Если вы хотите перемещаться между viewController в navigationControlle r, вы можете использовать

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

Я сделал простое решение. Вот оно ..

func actioncall() { 
    let loginPageView = self.storyboard?.instantiateViewControllerWithIdentifier("LoginPageID") as! ViewController 
    self.presentViewController(loginPageView, animated: true, completion: nil) 
} 
Смежные вопросы