プログラムを書こう!

実務や自作アプリ開発で習得した役に立つソフトウェア技術情報を発信するブログ

Swiftでナビゲーションバーにボタンを複数表示する。

この記事は2019年02月19日に投稿しました。

目次

  1. はじめに
  2. Swiftでナビゲーションバーにボタンを複数表示する
  3. おわりに

たった2日でマスターできるiPhoneアプリ開発集中講座 Xcode 10 Swift 4.2対応

たった2日でマスターできるiPhoneアプリ開発集中講座 Xcode 10 Swift 4.2対応

1. はじめに

こんにちは、iOSのエディタアプリPWEditorの開発者の二俣です。
PWEditorで使用しているSwiftでナビゲーションバーにボタンを複数表示する方法についてです。

目次へ

2. Swiftでナビゲーションバーにボタンを複数表示する

Swiftでナビゲーションバーにボタンを複数表示する方法ですが、以下のような処理になります。

import UIKit

class SampleViewController: UIViewController {

    // ナビゲーションバーのボタンが押下されたときに、ボタンを判別するためのタグ
    enum Tags: Int {
        case itemA
        case itemB
    }

    /**
     ビューがメモリにロードされた時に呼出されます。
     */
    override func viewDidLoad() {
        // 親クラスのメソッドを呼び出します。
        super.viewDidLoad()

        // ボタンが押下された時に呼び出されるメソッドです。
        // ボタンごとに用意してもいいです。
        // 今回は1つのメソッドで、Tagによりどのボタンか判別して処理します。
        let action = #selector(rightBarButtonPressed(_:))

        // ItemAボタン
        let itemABarButtonTitle = "ItemA"
        let itemABarButton = UIBarButtonItem(title: itemABarButtonTitle, style: .plain, target: self, action: action)
        itemABarButton.tag = Tags.itemA.rawValue

        // ItemBボタン
        let itemBBarButtonTitle = "ItemB"
        itemBBarButton = UIBarButtonItem(title: itemBBarButtonTitle, style: .plain, target: self, action: action)
        itemBBarButton.tag = Tags.itemB.rawValue

        // leftBarButtonItemsにすれば、左ボタンが複数になります。
        navigationItem.rightBarButtonItems = [itemABarButton, itemBBarButton]
    }

    /**
     右バーボタンが押下された時に呼び出されます。

     - Parameter buttonItem: 右バーボタン
     */
    @objc func rightBarButtonPressed(_ buttonItem: UIBarButtonItem) {
        if buttonItem.tag == Tags.itemA.rawValue {
            // ItemAボタンの場合

        } else if buttonItem.tag = Tags.itemB.rawValue {
            // ItemBボタンの場合
        }
    }
}

目次へ

3. おわりに

ナビゲーションバーにボタンを複数表示する方法は割と簡単です。
PWEditorでは、ファイル一覧画面とファイル編集画面で使用しています。

エンジニアのためのQ&Aサイト【teratail】

詳細! Swift iPhoneアプリ開発入門ノート iOS12 + Xcode 10対応

詳細! Swift iPhoneアプリ開発入門ノート iOS12 + Xcode 10対応

目次へ

Swiftでナビゲーションバーに右バーボタンを表示する。

この記事は2019年02月18日に投稿しました。

目次

  1. はじめに
  2. Swiftでナビゲーションバーに右バーボタンを表示する
  3. おわりに

1. はじめに

こんにちは、iOSのエディタアプリPWEditorの開発者の二俣です。
PWEditorで使用しているSwiftでナビゲーションバーに右バーボタンを表示する方法についてです。

目次へ

2. Swiftでナビゲーションバーに右バーボタンを表示する

Swiftでナビゲーションバーに右バーボタンを表示する方法ですが、以下のような処理になります。

import UIKit

class SampleViewController: UIViewController {

    /**
     ビューがメモリにロードされた時に呼出されます。
     */
    override func viewDidLoad() {
        // 親クラスのメソッドを呼び出します。
        super.viewDidLoad()

        // ナビゲーションバーに右バーボタンを表示します。
        let action = #selector(rightBarButtonPressed(_:))
        let title = "右"
        navigationItem.rightBarButtonItem = UIBarButtonItem(title: title, style: .plain, target: self, action: action)
    }

    /**
     右バーボタンが押下された時に呼出されます。

     - Parameter sender 右バーボタン
     */
    @objc func rightButtonPressed(_ sender: UIBarButtonItem) {
        // 右バーボタンが押下された時の処理を実装して下さい。
    }
}

目次へ

3. おわりに

前回の

paveway.hatenablog.com

とほぼ同様の処理になります。
これでナビゲーションバーの左右両方にバーボタンが表示できると思います。

TECH::CAMPの即戦力エンジニア養成プログラム【TECH::EXPERT】

詳解 Swift 第4版

詳解 Swift 第4版

目次へ

Swiftでナビゲーションバーに左バーボタンを表示する。

この記事は2019年02月17日に投稿しました。

目次

  1. はじめに
  2. Swiftでナビゲーションバーに左バーボタンを表示する
  3. おわりに

1. はじめに

こんにちは、iOSのエディタアプリPWEditorの開発者の二俣です。
PWEditorで使用しているSwiftでナビゲーションバーに左バーボタンを表示する方法についてです。

目次へ

2. Swiftでナビゲーションバーに左バーボタンを表示する

Swiftでナビゲーションバーに左バーボタンを表示する方法ですが、以下のような処理になります。
ナビゲーションバーの戻るボタンの右隣に表示されます。

import UIKit

class SampleViewController: UIViewController {

    /**
     ビューがメモリにロードされた時に呼出されます。
     */
    override func viewDidLoad() {
        // 親クラスのメソッドを呼び出します。
        super.viewDidLoad()

        // ナビゲーションバーに左バーボタンを表示します。
        let action = #selector(leftBarButtonPressed(_:))
        let title = "左"
        navigationItem.leftBarButtonItem = UIBarButtonItem(title: title, style: .plain, target: self, action: action)
    }

    /**
     左バーボタンが押下された時に呼出されます。

     - Parameter sender 左バーボタン
     */
    @objc func leftButtonPressed(_ sender: UIBarButtonItem) {
        // 左バーボタンが押下された時の処理を実装して下さい。
    }
}

目次へ

3. おわりに

PWEditorでは各画面でいろいろな機能を呼び出すため、バーボタンを利用しています。

【IT派遣テクノウェイブ】

目次へ

Swiftでツールバーの文字色を変更する。

この記事は2019年02月16日に投稿しました。

目次

  1. はじめに
  2. Swiftでツールバーの文字色を変更する
  3. おわりに

[改訂新版]Swiftポケットリファレンス (POCKET REFERENCE)

[改訂新版]Swiftポケットリファレンス (POCKET REFERENCE)

1. はじめに

こんにちは、iOSのエディタアプリPWEditorの開発者の二俣です。
PWEditorで使用しているSwiftでツールバーの文字色を変更する方法についてです。

目次へ

2. Swiftでツールバーの文字色を変更する

Swiftでツールバーの文字色を変更する方法ですが、以下のような処理になります。

paveway.hatenablog.com

paveway.hatenablog.com

と同様、全画面一括で変更するため、AppDelegateクラスのapplication(didFinishLaunchingWithOptions)メソッドで行います。

import UIKit

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        ...
        // ツールバーの文字色を黒色変更します。
        UIToolbar.appearance().tintColor = UIColor.black
        ...
    }
}

目次へ

3. おわりに

今回もPWEditorのDarkモードの対応の一環で実装したと思ったのですが、現在ツールバーはXIBで設定しています。
またXIBで背景色を黒で、文字色(アイコンの色)は白にしています。
なんで上記のような設定をしたか忘れてしまいました。

エンジニアによるエンジニアのためのサイト始まる!!【teratail】

目次へ

Swiftでナビゲーションバーのタイトルの文字色を設定する。

この記事は2019年02月15日に投稿しました。

目次

  1. はじめに
  2. Swiftでナビゲーションバーのタイトルの文字色を設定する
  3. おわりに

詳細! Swift iPhoneアプリ開発入門ノート iOS12 + Xcode 10対応

詳細! Swift iPhoneアプリ開発入門ノート iOS12 + Xcode 10対応

1. はじめに

こんにちは、iOSのエディタアプリPWEditorの開発者の二俣です。
PWEditorで使用しているSwiftでナビゲーションバーのタイトルの文字色を設定する方法についてです。

目次へ

2. Swiftでナビゲーションバーのタイトルの文字色を設定する

Swiftでナビゲーションバーのタイトルの文字色を設定する方法ですが、以下のような処理になります。
前々回

paveway.hatenablog.com

前回

paveway.hatenablog.com

と違い、ナビゲーションバーのタイトルの文字色は一括で変更できないようです。
そのため各画面ごとに設定する必要があります。

import UIKit

class SampleViewController: UIViewController {

    /**
     ビューがメモリにロードされた時に呼出されます。
     */
    override func viewDidLoad() {
        // 親クラスのメソッドを呼び出します。
        super.viewDidLoad()

        // ナビゲーションバーのタイトルの文字色を白色に設定します。
        navigationController?.navigationBar.titleTextAttributes = [.foregroundColor: UIColor.white]
    }
}

目次へ

3. おわりに

今回もPWEditorのDarkモードの対応の一環で実装しました。
前々回

paveway.hatenablog.com

前回

paveway.hatenablog.com

と同様に全画面一括で設定できると思ったのですができませんでした。
ちょっと気持ち悪いです。

【WebCampPRO】

たった2日でマスターできるiPhoneアプリ開発集中講座 Xcode 10 Swift 4.2対応

たった2日でマスターできるiPhoneアプリ開発集中講座 Xcode 10 Swift 4.2対応

目次へ

Swiftでナビゲーションバーのバーボタンの色を変更する。

この記事は2019年02月14日に投稿しました。

目次

  1. はじめに
  2. Swiftでナビゲーションバーのバーボタンの色を変更する
  3. おわりに

1. はじめに

こんにちは、iOSのエディタアプリPWEditorの開発者の二俣です。
PWEditorで使用しているSwiftでナビゲーションバーのバーボタンの色を変更する方法についてです。

目次へ

2. Swiftでナビゲーションバーのバーボタンの色を変更する

Swiftでナビゲーションバーのバーボタンの色を変更する方法ですが、以下のような処理になります。
前回の

paveway.hatenablog.com

と同様、全画面一括で変更するため、AppDelegateクラスのapplication(didFinishLaunchingWithOptions)メソッドで行います。

import UIKit

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        ...
        // ナビゲーションバーのバーボタンの色を白色に変更する。
        UINavigationBar.appearance().tintColor = UIColor.white
        ...
    }
}

目次へ

3. おわりに

今回もPWEditorのDarkモードの対応の一環で実装しました。

TECH::CAMP(エンジニアスクール)

詳解 Swift 第4版

詳解 Swift 第4版

目次へ

Swiftでナビゲーションバーの背景色を変更する。

この記事は2019年02月13日に投稿しました。

目次

  1. はじめに
  2. Swiftでナビゲーションバーの背景色を変更する
  3. おわりに

1. はじめに

こんにちは、iOSのエディタアプリPWEditorの開発者の二俣です。
PWEditorで使用しているSwiftでナビゲーションバーの背景色を変更する方法についてです。

目次へ

2. Swiftでナビゲーションバーの背景色を変更する

Swiftでナビゲーションバーの背景色を変更する方法ですが、以下のような処理になります。
全画面一括で変更するため、AppDelegateクラスのapplication(didFinishLaunchingWithOptions)メソッドで行います。

import UIKit

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        ...
        // ナビゲーションバーの背景色を黒色に変更します。
        UINavigationBar.appearance().barTintColor = UIColor.black
        ...
    }
}

目次へ

3. おわりに

PWEditorの実装時に、ユーザから背景を黒ベース(Darkモード)にしてほしいと要望がありました。
今回はその一環で実装しました。

【IT派遣テクノウェイブ】

目次へ