2017-07-09 19 views
0

最初のビューのボタンから2番目のビューに切り替えようとしていますが、これをプログラムで行います(ストーリーボード上でsegueを使用してビューを切り替える従来の方法は使用しません)スクロールで2番目のビューをプログラムで追加する方法3

私の現在のアプリデリゲート:私は既に持っている

func signupAction (sender: UIButton!){ 

} 

:押されたときには、単に新しいビューに切り替える必要があることを最初のビューコントローラで

import UIKit 

@UIApplicationMain 
public class AppDelegate: UIResponder, UIApplicationDelegate { 

    public var window: UIWindow? 

    public func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { 

     window = UIWindow(frame: UIScreen.main.bounds) 
     window?.makeKeyAndVisible() 
     window?.rootViewController = UINavigationController(rootViewController: ViewController()) 

     return true 
    } 

ボタンの機能作成した新しいのViewControllerファイル:

class Signup: UIViewController { 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     view.backgroundColor = UIColor.cyan 
    } 
} 

基本的に、私はこのサインアップのViewControllerに最初のViewController遷移でボタンを達成しようとしています。

+2

したがって、2番目のビューのCONTROLLERを追加しますか? View Controllerを意味するときに表示しないでください。これらの用語は異なるものを意味し、2番目のビューを追加したいときは、新しいビューコントローラではなく、サブビューを追加するように見えます。 –

+2

ナビゲーションコントローラがあり、ナビゲーションスタックに新しいビューコントローラをプッシュしたいですか?新しいView Controllerをモーダルに表示しますか? –

答えて

1

あなたがUINavigationControllerにいる場合は、ナビゲーションスタックにこの方法をSignupビューコントローラをプッシュすることができます:

let storyboard = UIStoryboard(name: "Main", bundle: nil) 
let signUpViewController = storyboard.instantiateViewController(withIdentifier: "signUpViewController") as! Signup 
navigationController?.pushViewController(signUpViewController, animated: true) 

あなたがUINavigationControllerではなく、それを提示したい場合、あなたはこのようにそれを行うことができます。

let storyboard = UIStoryboard(name: "Main", bundle: nil) 
let signUpViewController = storyboard.instantiateViewController(withIdentifier: "signUpViewController") as! Signup 
self.present(signUpViewController, animated: true, completion: nil) 

注:ストーリーボードのビューコントローラの識別子を設定することを忘れないでください。

+0

私はストーリーボードをまったく使用しないようにしようとしていますが、私はナビゲーションコントローラーを介してストーリーボードを押す必要があることを理解しました – Jeamz

関連する問題