iOS 14 mengatur menu UIBarButttonItem sebelum dibuka
Karena iOS14 menawarkan cara mudah untuk mengatur menu di UIBarButtonItem
, saya bertanya-tanya apakah saya ketinggalan bahwa tidak ada cara mudah untuk mengatur itemnya karena mereka mungkin bergantung pada konteks saat ini.
Saya melihat itu ada UIDeferredMenuElement
, tetapi ini sepertinya bukan kasus penggunaan yang baik untuk itu?
Saya juga melihat bahwa ada primaryAction
, tetapi tampaknya tidak ada cara yang sepele untuk memanggil menu dari sana.
Dan opsi ketiga tampaknya mengubah menu pada setiap perubahan yang mungkin memengaruhinya, tetapi sepertinya bukan ide yang bagus.
Saya berasumsi bahwa ada sesuatu yang saya lewatkan.
Jawaban
Pada dasarnya untuk item tombol bar sederhana tidak ada ketentuan seperti itu. UIControl seperti UIButton memiliki event .menuActionTriggered
, dan pada saat itu sangat masuk akal untuk membangun dan menetapkan menu ke kontrol, sehingga menerapkan menu dinamis yang dibuat tepat pada saat sebelum menu muncul.
Tetapi Anda tidak dapat melakukannya dengan item tombol bar - kecuali item tombol bar tampilan kustom dengan UIButton di dalamnya.
Apa yang harus Anda lakukan sebaliknya adalah memperhatikan kondisi sekitar melalui mekanisme lain dan hanya mengubah menu item tombol bar setiap kali kondisi berubah. Kedengarannya seperti sakit di pantat tetapi mungkin itu satu-satunya pilihan Anda. (Saya rasa itulah yang Anda maksudkan ketika Anda mengatakan "Dan opsi ketiga tampaknya mengubah menu pada setiap perubahan yang dapat memengaruhinya, tetapi sepertinya itu bukan ide yang bagus.")
Saya pikir apa yang Anda minta masuk akal dan sepertinya konyol karena tidak ada ketentuan untuk itu; jika Anda memiliki kasus penggunaan yang baik, saya sarankan untuk mengajukan permintaan peningkatan dengan Apple.