LoginSignup
0
0

More than 1 year has passed since last update.

UIActionを使ってUINavigationItemの右にボタンを追加する例

Last updated at Posted at 2022-09-29

iOS 14からのUIActionを使ってUIViewControllerのUINavigationItemの右にボタンを追加する短い例。

とにかくボタンを置いてアクションを記述するだけの例

import UIKit

class ViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()

        navigationItem.rightBarButtonItem = .init(
            title: "ボタン名",
            image: nil,
            primaryAction: .init { _ in
                print("タップされた")
            },
            menu: nil
        )
    }

なんとなく覚えててググると、ぐちゃっと説明を読まされるが自分はこれで思い出せる。さらに調べたければXcode上で定義にジャンプすればいい。

SwiftUIのViewを呼び出す例

import UIKit

class ViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()

        navigationItem.rightBarButtonItem = .init(
            title: "ボタン名",
            image: nil,
            primaryAction: .init { [weak self] _ in
                let viewController = UIHostingController(rootView: SampleView())
                self?.present(viewController, animated: true)
            },
            menu: nil
        )
    }
import SwiftUI

struct SampleView: View {
    var body: some View {
        Text("Hello, World!")
    }
}

SwiftUI.ViewをUIViewControllerに変換してとりあえず表示。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0