Connect with us

Разработка

Малоизвестные представления SwiftUI

Опубликовано

/

     
     

Когда вы начали изучать swiftUI, вы могли столкнуться с большим количеством представлений, таких как:

  • VStack, HStack, ZStack, ScrollView, Grid
  • Также, возможно, GeometryReader, Lazy(V,H,Z) Stack.

Здесь я пытаюсь показать некоторые представления, которые в целом редко используются (если вы глубоко погружены в SwiftUI, то, возможно, уже знаете их).

AnyLayout

AnyLayout пригодится вам, когда вы захотите динамически переключаться между HStack и VStack во время выполнения программы.

Условие переключателя не обязательно должно быть bool с кнопкой, оно может быть любым, например:

  • Ориентация устройства (Пейзаж/Портрет)
  • Размер текста для доступности (XXL, XL)
  • На основе счетчика и т.д.

Малоизвестные представления SwiftUI

ViewThatFits

ViewThatFits можно использовать в тех случаях, когда вам нужно отобразить различные представления, основываясь на наилучшем вписывании в рамки доступного устройства.

Это удобно, если вы настраиваете представление в зависимости от размера экрана.

ViewThatFits всегда:

  • Начинает проверку с первого View и проверяет дальше
  • Рендерит первое представление, которое подходит для контейнера
  • Если ни один из них не подходит, рендерится последний вид

Совет

  • Начинайте проверку от самого верхнего вида к самому нижнему (см. пример кода)

Малоизвестные представления SwiftUI

ContentUnavailableView

ContentUnavailableView может быть использован для создания плейсхолдера или когда содержимое недоступно (как следует из названия), например:

  • Когда список/таблица пуста
  • Когда потерялась связь с сетью
  • Когда возникла общая ошибка с приложением
  • Или как обучающий View перед загрузкой контента

1. Основное представление недоступности:

В приведенном выше коде видно, что функция getUnavailableContent() вызывается в оверлее списка и отображается только в том случае, если список пуст.

Малоизвестные представления SwiftUI

2. Представление недоступности с действием

Это просто стандартное представление и, следовательно, оно поставляется с несколькими дополнительными встроенными модификаторами, такими как добавление действия к контенту.

Просто замените функцию getUnavailableContent() в приведенном выше блоке кода на следующую функцию, и вы сможете получить дополнительную кнопку действия без каких-либо дополнительных усилий.

Малоизвестные представления SwiftUI

3. Представление недоступности с пейджингом

Как я уже упоминал, это можно использовать для создания обучающего представления или представления с инструкциями, например, с пагинацией для  онбординга или что-то в этом роде.

В приведенном выше коде содержимое использует пагинацию.

Малоизвестные представления SwiftUI

Вы можете настроить любое представление, но использование ContentUnavailableView имеет особые преимущества. Это удобный способ информировать пользователей о недоступности содержимого, сохраняя при этом последовательный интерфейс. Такой подход повышает удобство работы пользователей, четко информируя их об отсутствии контента, и может побудить их предпринять альтернативные действия, например обновить страницу или перейти в другое место.

Это помогает:

  • В ускорении разработки кода
  • Вам не нужно беспокоиться о рендеринге в разных размерах
  • Поставляется с действиями по умолчанию

Я надеюсь, что вы открыли для себя что-то новое или вновь обрели знания о знакомых концепциях!

Источник

Если вы нашли опечатку - выделите ее и нажмите Ctrl + Enter! Для связи с нами вы можете использовать info@apptractor.ru.
Telegram

Популярное

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: