0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

UIButton に設定した UIMenu で項目の並び順が勝手に変わって困った話

Last updated at Posted at 2025-08-27

発生した問題

同じViewController,同じコードなのに表示の仕方(モーダル or フルスクリーン)によって UIButtonに設定したmenu の並び順が変わってしまう。

わかったこと

UIMenuの項目の並び順はシステム側で勝手に並び替えられることがある
UIButton に preferredMenuElementOrder というプロパティがあり、状況によってデフォの設定が変わるらしい

解決方法

とりあえず.fixedにしておけば順番を固定できる

//preferredMenuElementOrderの設定を追加する
button.preferredMenuElementOrder = .fixed

結論

こんなプロパティ知らんかった
for文でenumから項目を生成してたから何かの間違いで順番が保証されてないのかと思って焦った

SwiftUIのmenuOrder(_:)の説明の方が詳しかった
https://developer.apple.com/documentation/swiftui/view/menuorder(_:)
SwiftUIに移行しよう

参考

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?