Open1

SwiftUIの知見

ozawa711ozawa711

親Viewでのボタンのタップ位置がずれることがあった

SwiftUIを案件で利用してこんなことがありました。

事象

親ViewをVStackで.edgesIgnoringSafeArea(.all)にして
セーフエリアまで広げ、上からボタンを表示していました。
子Viewをモーダルで広げ、子ViewでのAPI処理で、親Viewを更新かけると
子Viewを閉じた時に、親Viewのボタン位置がずれることがありました。

対策

構成する部品を1つ1つ分解してタップ位置のズレの原因を探ったところ
子Viewを閉じず、親viewの表示を更新かけたのが原因でした。
子Viewを閉じてから、親viewの表示を更新かるようにしました。