You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: ru/tutorials/searchable-swiftui.md
+16-4Lines changed: 16 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -65,7 +65,9 @@ struct ContentView: View {
65
65
}
66
66
```
67
67
68
-
Применили модификатор к `SecondaryView()` и изменили расположение на `.navigationBarDrawer`. За это отвечает структура `SearchFieldPlacement()`. По умолчанию `placement` установлено в `.automatic`.
Применили модификатор к `SecondaryView()` и изменили расположение на `.navigationBarDrawer`. За размещение поля поиска отвечает структура `SearchFieldPlacement()`. По умолчанию `placement` установлено в `.automatic`.
По умолчанию бар поиска появляется внутри списка - поэтому он скрыт. Чтобы поиск появился - скрольте список вниз. В расширение вью я вынес `authorsResult` проперти.
135
+
По умолчанию бар поиска появляется внутри списка - поэтому он скрыт. Чтобы поиск появился - скрольте список вниз. В расширение вью я вынес `authorsResult` проперти, чтобы разделить логику от интерфейса и улучшить читаемость кода.
Параметр `suggestions` принимает `@ViewBuilder`, поэтому можно сделать кастомную View и комбинировать варианты для поискового предложения. Код текущего проекта:
151
157
152
158
```swift
153
159
structContentView: View {
@@ -189,7 +195,7 @@ extension ContentView {
189
195
}
190
196
```
191
197
192
-
Приложение упадет, если мы введем символы или цифры. Я оставил этот код, чтобы продемонстрировать комбинированные варианты поиска:
198
+
Приложение упадет, если мы введем символы или цифры. Я оставил этот код, чтобы продемонстрировать комбинированные варианты предложений для поиска:
193
199
194
200
```swift
195
201
.searchCompletion(authorsResult.first!.name)
@@ -246,3 +252,9 @@ struct ContentView: View {
246
252
}
247
253
}
248
254
```
255
+
256
+
## Вывод
257
+
258
+
Сегодня мы познакомились с новым модификатором. Потребовалось всего пару строк кода и в вашем приложении появилась функция поиска. Сам по себе searchable прост, но таит сложное поведение.
259
+
Надеюсь после прочтения статьи вам станет более понятна организация и работа поиска в SwiftUI.
260
+
Спасибо, что дочитали и увидимся в следующих статьях.
0 commit comments