AppFiles - Mobile Development
2.11K subscribers
2.67K photos
38 videos
9 files
3.59K links
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Download Telegram
Forwarded from Код Воробья для iOS разработчиков
Как устроен онбординг в App Store. Контроллер назвали OnboardingViewController. Не оборачивали в навигейшн. Основной вью выступает не коллекция, а UIScrollView.

Заголовок “What’s New…” поместили в контейнер, хотя внутри него только лейбл. Ячейки это UIView, а тайтл-описание находятся в стеке.

Тулбар обычная вью с фоном UIVisualEffectView. Текст с кнопкой "See how your data..." это UITextView.
Иконка, текст и кнопки в тулбаре поместили в вертикальный стек. Ненормально большой отсуп снизу тулбара задан фикс значением от layoutMargins.bottom + 89.

#ViewHierarchy
👍6💩1
Forwarded from Код Воробья для iOS разработчиков
Как устроен системный калькулятор.

Приложение написано на сценах. Root-контроллер называется DisplayViewController. Лейбл с введенными цифрами обернули в контейнер DisplayView и добавили жесты LongPress, Swipe и Tap.

Клавиатуру сделали обычный вью и назвали CalculatorKeypadView. Кнопки сделаны как UIButton. Все кнопки - объекты одного класса, даже измененный 0. Контейнер лейаутится через AutoLayout, а вот сетку с кнопками расставили с помощью фреймов.

#ViewHierarchy
👍4
Forwarded from Код Воробья для iOS разработчиков
Как устроено приложение Wallet

Сделали на сценах, а лейаут на фреймах. Рут контроллер называется PKPassGroupsViewController. Главная вью UIStackView, в неё поместили: заголовок Wallet, группу карточек, группу бонусных карт и футер.

Каждую карточку поместили в контейнер PKPassGroupView. Внутри находится скрол-вью, которая отрабатывает жесты и является саб-контейнером карточки. Получается каждая карточка лежит на скрол-вью и управляется жестами на скролле 🤯. Понятия не имею как это работает.

Чтобы управлять пространством сверху для тапа - эпл сделала переиспользуемый класс. Каждую карточку поместили в ещё один саб-контейнер с названием WLEasyToHitCustomView (переводится легко нажать). Возможно, связали контейнеры в родителе или через делегаты.

#ViewHierarchy
🔥2
Forwarded from Код Воробья для iOS разработчиков
Как устроено приложение погоды. Пока для iOS 14, постараюсь сделать для iOS 15 тоже.

Написали на сценах. Корневой UISplitViewController. Для компактного режима поставили page-контроллер. Фон и анимации сделаны на трех CALayer и одного градиента.

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

Тулбар сделали кнопками. Сепаратор это UIView c эффектом. Индикатор-точки нативный от page-контроллера.

#ViewHierarchy
👍41
Forwarded from Код Воробья для iOS разработчиков
Как устроено приложение Настройки. Сделано нативно.

Сделали на сценах. Root это split-контроллер, проявляется на 5.5+ айфоне и айпадах. Домашний экран назвали UIPrefsListController.

Ячейки, иконки и аксесуары установлены в дефотные вьюхи. На втором скрине кликабельный текст в футере сделали через кастомную футер-вью. Кнопку добавили через формат-текст в UITextView.

Когда доступно обновление, на домашнем экране появляется ячейка с красным кружком. Это сделали картинкой с лейблом, класс назвали BadgedTableViewCell. Ячейка аккаунта названа UIAppleAccountCell.

Иконки ячеек установлены в дефолтный контейнер. Библиотека SPSettingsIcons генерирует такие иконки для SFSymbols кодом.

#ViewHierarchy
2🤔1