そーす

福岡在住のプログラマ

iOSのみ、ModalとAlertを同時に使うとModalが消えないバグがある

issue上がってます

github.com

再現方法

例えば通信処理中にインジケータ(くるくるするやつ)を出して、通信終わったらインジケータ消してレスポンスに応じてダイアログでユーザに通知したいとかあるじゃないですか。

このインジケータの表示にModalを使って通知にAlertIOSを使ったりすると起きます。

原因

Modalはshow/hide時はアニメーションを付加することができるのですが、このアニメーションの終了前にAlertを追加してしまうのが原因のようです。これは困った。

ワークアラウンド

いくつか上がってます

Modalのアニメーションを切る

一番変更の少ない方法です。上手く行くことを確認しました。 ProgressViewコンポーネントを作ってしまっていて、animationプロパティを変更するだけだったのでこれでとりあえず対応してます。 ただ、やっぱ見た目が悪い…

setTimeoutで終了を待つ

これはちょっと…。変更の手間が多いですね。