isSearchingは、SwiftUIのEnvironmentValuesの一部であり、検索フィールドがアクティブであるかどうかを示すブール値です。これを使用すると、検索フィールドがフォーカスされている間に特定の動作を実行したり、UIの表示を変更したりすることができます。
サンプルコード
具体的な例を以下に示します。
import SwiftUI
struct isSearchingSmp: View {
@State private var searchText = ""
var body: some View {
NavigationStack {
SearchedView()
.searchable(text: $searchText)
Spacer()
}
}
}
struct SearchedView: View {
//Environmentプロパティを設定し検索状態を取得できるようにする
@Environment(\.isSearching) private var isSearching
var body: some View {
//検索フィールドをタップなどによりアクティブ・非アクティブを変更にすると表示を切り替える
if isSearching {
Text("Search is active")
.foregroundColor(.blue)
} else {
Text("Search is inactive")
.foregroundColor(.red)
}
}
}動作の説明


この例では、isSearchingを使用して、検索フィールドがアクティブであるかどうかに応じて異なるメッセージと文字色を変えて表示しています。
検索フィールドをタップなどによりアクティブにすると、isSearchingがtrueになり、“Search is active”が表示されます。
検索フィールドが空の場合やフォーカスが外れた場合は、isSearchingがfalseになり、“Search is inactive”が表示されます。
まとめ
このように、isSearchingを使用することで、検索フィールドの状態に応じて動的にUIを変更することができます。

