[英]Redirect from UIViewController to another UIViewController programmatically
[英]Moving from one UIViewController to another in Swift programmatically
我有2个ViewController。 我没有情节提要。 一旦在第一个viewController中完成所有操作后,我想从第一个视图移动到另一个视图。 怎么做呢? 就是这样,第一个视图显示图像,而在后台则进行一些API调用。 API调用成功后,我希望它移至第二个ViewController( LoginActivityViewController
)。 我尝试在第一个ViewController中调用它:
var loginActivity = LoginActivityViewController()
self.navigationController.pushViewController(loginActivity, animated: true)
但是,这没有用。 这个怎么做?
这是我在AppDelegate中的应用程序功能
func application(application: UIApplication!, didFinishLaunchingWithOptions launchOptions: NSDictionary!) -> Bool {
// Override point for customization after application launch.
window = UIWindow(frame: UIScreen.mainScreen().bounds)
let navigationController: UINavigationController = UINavigationController(rootViewController: RootViewController())
navigationController.setNavigationBarHidden(true, animated: false)
window!.rootViewController = navigationController
window!.makeKeyAndVisible()
return true
}
这是我的RootViewController的viewDidLoad()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
let image1 = UIImage(named: "Default.png")
let imageview = UIImageView(image: image1)
self.view.addSubview(imageview)
var loginActivity = LoginActivityViewController()
self.navigationController.pushViewController(loginActivity, animated: true)
}
正确启动导航控制器后,您的方法应如下所示:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: NSDictionary?) -> Bool {
window = UIWindow(frame: UIScreen.mainScreen().bounds)
let rootViewController: RootViewController = RootViewController(nibName: "RootViewController", bundle: nil)
let navigationController: UINavigationController = UINavigationController(rootViewController: rootViewController)
window!.rootViewController = navigationController
window!.makeKeyAndVisible()
return true
}
现在您可以将新的视图控制器推入层次结构中。
如果您不想显示导航栏,请将此行插入到上面的代码中。
navigationController.setNavigationBarHidden(true, animated: false)
var next = self.storyboard?.instantiateViewControllerWithIdentifier("DashboardController") as! DashboardController
self.presentViewController(next, animated: true, completion: nil)
不要忘记在StoryBoard
设置ViewController StoryBoard Id
StoryBoard
> identity inspector
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.