バッテラ777

ゲーム開発に関する情報を共有するブログです。記事を8192書くまでやめれません

【SwiftUI】ListでNaigationLinkすると選択状態になってしまう件について

SwiftUI

はじめに

今日はSwiftUIの勉強していきます。

Listでセルをクリックしたら画面遷移するのを作りました(↓参照)

動画見てもらうとわかると思うのですが戻ってきた時にそのセルが選択状態になっています。

※iOS15ではこの現象は発生しません

これがデザイン的に不具合に見えるので、戻った時には選択状態を解除させる方法について共有したいと思います。

※注意 実装の仕方によってこれで解決しないかもです。治ったらラッキー程度と思って下しゃい。

選択状態を解除する

Listに対して以下の処理を書きます

List {
~~~~~~~省略~~~~~~~~
}
.onDisappear {
    UITableViewCell.appearance().isSelected = false
}

これで実行してみると。。。

無事選択状態が解除できました!

参考にしたサイト

ios - How to remove highlight on tap of List with SwiftUI? - Stack Overflow

おわりに

最後まで見ていただきヘペトナス!

読者登録・Twitterのフォローもお願いします。