015 UIViewControllerで画面遷移する

Swift3.0に対応した新サイトオープンしました。
http://docs.fabo.io/swift/


Preview


Source

AppDelegate.swift

//

//  AppDelegate.swift

//  UIKit015

//


import UIKit


@UIApplicationMain

class AppDelegate: UIResponder, UIApplicationDelegate {

    

    internal var window: UIWindow?

    

    /*

    アプリケーション起動時に呼び出されるメソッド.

    */

    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

        

        // ViewControllerを生成する.

        let myFirstViewController: FirstViewController = FirstViewController()

        

        // UIWindowを生成する.

        self.window = UIWindow(frame: UIScreen.mainScreen().bounds)

        

        // rootViewControllerNatigationControllerを設定する.

        self.window?.rootViewController = myFirstViewController

        

        self.window?.makeKeyAndVisible()

        

        return true

    }

    

}


FirstViewController.swift


//

//  FirstViewController.swift

//  UIKit015

//


import UIKit


class FirstViewController: UIViewController {

    

    override func viewDidLoad() {

        super.viewDidLoad()

        

        // 背景色をGreenに設定する.

        self.view.backgroundColor = UIColor.greenColor()

        

        // ボタンを生成する.

        let nextButton: UIButton = UIButton(frame: CGRectMake(0,0,120,50))

        nextButton.backgroundColor = UIColor.redColor();

        nextButton.layer.masksToBounds = true

        nextButton.setTitle("Next", forState: .Normal)

        nextButton.layer.cornerRadius = 20.0

        nextButton.layer.position = CGPoint(x: self.view.bounds.width/2 , y:self.view.bounds.height-50)

        nextButton.addTarget(self, action: "onClickMyButton:", forControlEvents: .TouchUpInside)

        

        // ボタンを追加する.

        self.view.addSubview(nextButton);

    }

    

    /*

    ボタンイベント.

    */

    internal func onClickMyButton(sender: UIButton){

        

        // 遷移するViewを定義する.

        let mySecondViewController: UIViewController = SecondViewController()

        

        // アニメーションを設定する.

        mySecondViewController.modalTransitionStyle = UIModalTransitionStyle.PartialCurl

        

        // Viewの移動する.

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

    }

    

    override func didReceiveMemoryWarning() {

        super.didReceiveMemoryWarning()

    }

}

SecondViewController.swift

//

//  SecondViewController.swift

//  UIKit015

//


import UIKit


class SecondViewController: UIViewController {

    

    override func viewDidLoad() {

        super.viewDidLoad()

        

        // 背景色を設定.

        self.view.backgroundColor = UIColor.blueColor()

        

        // ボタンを作成.

        let backButton: UIButton = UIButton(frame: CGRectMake(0,0,120,50))

        backButton.backgroundColor = UIColor.redColor();

        backButton.layer.masksToBounds = true

        backButton.setTitle("Back", forState: .Normal)

        backButton.layer.cornerRadius = 20.0

        backButton.layer.position = CGPoint(x: self.view.bounds.width/2 , y:self.view.bounds.height-50)

        backButton.addTarget(self, action: "onClickMyButton:", forControlEvents: .TouchUpInside)

        self.view.addSubview(backButton);

    }

    

    /*

    ボタンイベント.

    */

    internal func onClickMyButton(sender: UIButton){

        

        // 遷移するViewを定義.

        let myViewController: UIViewController = FirstViewController()

        

        // アニメーションを設定.

        myViewController.modalTransitionStyle = UIModalTransitionStyle.FlipHorizontal

        

        // Viewの移動.

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

    }

    

    override func didReceiveMemoryWarning() {

        super.didReceiveMemoryWarning()

        // Dispose of any resources that can be recreated.

    }

}


Reference

    UIViewController Class



Comments