example - Swift 3, Xcode 8 Instantiate View Controller no funciona
scroll view swift 4 (3)
Intenta así
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let viewController = storyboard.instantiateViewController(withIdentifier :"secondViewController") as! UIViewController
self.present(viewController, animated: true)
Xcode 8 cuando se compila dice que se cambie la instancia del viewcontroller
con el identificador para simplemente, instanciar el controlador de vista. Lo hice, ¿por qué da dos errores?
Estoy trabajando con Swift 3. Quiero cambiar páginas programáticamente. He leído muchas otras preguntas sobre el tema. Todos ellos usan el controlador de vista instanciada con el identificador. No han adoptado el nuevo idioma.
@IBAction func switchPage(_ sender: UIButton) {
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let viewController =
storyboard.instantiateViewController("secondViewController") as!
UIViewController
self.presentViewController(secondViewController, animated: true,
completion: nil)
}
Gracias. Cambié el código según lo sugerido, y recibo un solo error: ¿Valor del tipo opcional ''UIStoryboard?'' no desenvuelto; ¿Quisiste usar ''!'' o ''?''? ¿Debo agregar un signo de exclamación en alguna parte?
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a
nib.
}
@IBAction func ch(_ sender: UIButton) {
let viewController =
storyboard.instantiateViewController(withIdentifier:
"secondViewController") as! UIViewController
self.present(viewController, animated: true)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
Me ha funcionado esto:
let vc = UIStoryboard(name: "ZWLStaticTabVc", bundle: nil).instantiateInitialViewController()
self.navigationController?.pushViewController(vc!, animated: true)
Funcionó para mí:
let gameScene = UIStoryboard(name: "Main", bundle:nil).instantiateViewController(withIdentifier: "ViewController") as UIViewController
let appDelegate = (UIApplication.shared.delegate as! AppDelegate)
appDelegate.window?.rootViewController = gameScene