0
0

UIBarButtonItem内の押せないはずのボタンが押せてしまう

Last updated at Posted at 2023-11-09

解決策

UIButtonをUIBarButtonItemに変換した後、isEnabledをfalseにすればちゃんと押せなくなってくれた。

SampleViewController.swift
let barButtonItem = UIBarButtonItem(customView: button)
button.isEnabled = false
navigationItem.rightBarButtonItem = barButtonItem

原因

isEnabledがfalseのUIButton(押せないボタン)をUIBarButtonItemに変換しても、そのボタンのisEnabledは自動的にtrueになってしまうようだ。

以下はボタンが押せてしまうコード例

SampleViewController.swift
let button = UIButton()
button.setTitle("ボタン", for: .normal)
button.addTarget(self, action: #selector(tappedButton), for: .touchUpInside)
button.isEnabled = false
            
let barButtonItem = UIBarButtonItem(customView: button) // button.isEnabled = trueに自動で書き換わってしまう
navigationItem.rightBarButtonItem = barButtonItem
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