031 UINavigationItemでUINavigationBarを設定

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

Preview

 

Source

AppDelegate.swift

//

//  AppDelegate.swift

//  UIKit031

//


import UIKit


@UIApplicationMain

class AppDelegate: UIResponder, UIApplicationDelegate {

    

    var window: UIWindow?

    

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

        

        // ViewControllerを生成する.

        let myFirstViewController: FirstViewController = FirstViewController()

        

        // Navication Controllerを生成する.

        let myNavigationController: UINavigationController = UINavigationController(rootViewController: myFirstViewController)

        

        // UIWindowを生成する.

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

        

        // rootViewControllerNatigationControllerを設定する.

        self.window?.rootViewController = myNavigationController

        

        self.window?.makeKeyAndVisible()

        

        return true

    }

    

}


FirstViewController.swift

//

//  FirstViewController.swift

//  UIKit031

//


import UIKit


class FirstViewController: UIViewController {

    

    override func viewDidLoad() {

        super.viewDidLoad()

        

        // Viewの背景色を定義する.

        self.view.backgroundColor = UIColor.cyanColor()

        

        // ボタンを生成する.

        let myButton = UIButton(frame: CGRectMake(0,0,100,50))

        myButton.backgroundColor = UIColor.orangeColor()

        myButton.layer.masksToBounds = true

        myButton.setTitle("ボタン", forState: .Normal)

        myButton.layer.cornerRadius = 20.0

        myButton.layer.position = CGPoint(x: self.view.bounds.width/2, y:200)

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

        

        // ボタンをViewに追加する.

        self.view.addSubview(myButton);

        

        // BarButtonItemを作成する.

        let myBarButton_1 = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Camera, target: self, action: "onClickMyBarButton:")

        let myBarButton_2 = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Add, target: self, action: "onClickMyBarButton:")

        let myBarButton_3 = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Done, target: self, action: "onClickMyBarButton:")

        

        // Barの右に配置するボタンを配列に格納する.

        let myRightButtons: NSArray = [myBarButton_1, myBarButton_2]

        

        // NavigationBarを取得する.

        self.navigationController?.navigationBar

        

        // NavigationBarの表示する.

        self.navigationController?.setNavigationBarHidden(false, animated: false)

        

        // NavigationItemの取得する.

        self.navigationItem

        

        // タイトルを設定する.

        self.navigationItem.title = "Title"

        

        // プロンプトを設定する.

        self.navigationItem.prompt = "Prompt"

        

        // Barの右側に複数配置する.

        self.navigationItem.setRightBarButtonItems(myRightButtons as [AnyObject], animated: true)

        

        // Barの左側に配置する.

        self.navigationItem.setLeftBarButtonItem(myBarButton_3, animated: true)

    }

    

    /*

    ボタンイベント

    */

    internal func onClickMyButton(sender: UIButton){

        println("onClickMyButton:")

        

        let secondViewController = SecondViewController()

        self.navigationController?.pushViewController(secondViewController, animated: true)

    }

    

    /*

    BarButtonイベント

    */

    internal func onClickMyBarButton(sender: UIButton){

        println("onClickMyBarButton:")

    }

    

    override func didReceiveMemoryWarning() {

        super.didReceiveMemoryWarning()

        // Dispose of any resources that can be recreated.

    }

}


SecondViewController.swift

//

//  SecondViewController.swift

//  UIKit031

//


import UIKit


class SecondViewController: UIViewController {

    

    override func viewDidLoad() {

        super.viewDidLoad()

        

        // Controllerのタイトルを設定する.

        self.title = "My 2nd View"

        

        // Viewの背景色を定義する.

        self.view.backgroundColor = UIColor.greenColor(

    }

    

    

    override func didReceiveMemoryWarning() {

        super.didReceiveMemoryWarning()

        // Dispose of any resources that can be recreated.

    }

    

}


Reference

    UINavigationItem Class


Comments