Поддержать проект
Ваша поддержка == вклад в развитие приложения: новые вопросы, необычные форматы и многое другое
Ваша поддержка == вклад в развитие приложения: новые вопросы, необычные форматы и многое другое
Создание многоступенчатой анимации в SwiftUI
Анимации в приложении служат визуальными индикаторами, информирующими пользователей о совершенных действиях.
Они особенно полезны при изменении интерфейса, например, при загрузке нового контента или демонстрации новых действий.
📖 В этой статье разбирается пример работы с PhaseAnimator (его особенно удобно применять, когда нам нужна анимация, которая непрерывно повторяется и реагирует на события).
📖 Кстати, в канале есть ещё один полезный материал про
😃 iOS Dev
Анимации в приложении служат визуальными индикаторами, информирующими пользователей о совершенных действиях.
Они особенно полезны при изменении интерфейса, например, при загрузке нового контента или демонстрации новых действий.
📖 В этой статье разбирается пример работы с PhaseAnimator (его особенно удобно применять, когда нам нужна анимация, которая непрерывно повторяется и реагирует на события).
📖 Кстати, в канале есть ещё один полезный материал про
PhaseAnimator
и KeyframeAnimator
.Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Создание интерфейса поиска в стиле Photos из iOS 18
Если вы следили за трасляцией в канале (или в других источниках), то в курсе, что в новой оси поменяется в том числе и приложение Photos.
Новый раздел выглядит как кастомная View в SwiftUI, которую Seb Vidal попытался повторить с помощью публичного API (но без реверс-инжиниринга не обошлось). Затрагивается и самый сложный момент — плавный переход фона в стиль клавиатуры.
📖 Здесь можно прочитать про основные этапы для создания такого экрана.
🛠 А здесь посмотреть на реализацию в коде.
😃 iOS Dev
Если вы следили за трасляцией в канале (или в других источниках), то в курсе, что в новой оси поменяется в том числе и приложение Photos.
Новый раздел выглядит как кастомная View в SwiftUI, которую Seb Vidal попытался повторить с помощью публичного API (но без реверс-инжиниринга не обошлось). Затрагивается и самый сложный момент — плавный переход фона в стиль клавиатуры.
📖 Здесь можно прочитать про основные этапы для создания такого экрана.
🛠 А здесь посмотреть на реализацию в коде.
Please open Telegram to view this post
VIEW IN TELEGRAM
Разбор режимов наложения в Swift: примеры и возможные варианты
Режимы наложения (blend modes) играют важнейшую роль в дизайне. Они необходимы при работе с фото, создании эффектов освещения, и, например, используются для достижения эффекта глубины в изображениях.
💬 Как следуют из названия, при использовании такого режима происходит смешивание цвета нескольких слоев пикселей с помощью математических формул для определения степени влияния каждого пикселя на конечное изображение.
Можно комбинировать любое количество слоев, но минимально необходимо только два — базовый и сам слой наложения.
📖 В этой статье подробно рассматриваются различные режимы наложения (и математические формулы), способы реализации и примеры использования.
😃 iOS Dev
Режимы наложения (blend modes) играют важнейшую роль в дизайне. Они необходимы при работе с фото, создании эффектов освещения, и, например, используются для достижения эффекта глубины в изображениях.
Можно комбинировать любое количество слоев, но минимально необходимо только два — базовый и сам слой наложения.
📖 В этой статье подробно рассматриваются различные режимы наложения (и математические формулы), способы реализации и примеры использования.
Please open Telegram to view this post
VIEW IN TELEGRAM
По компаниям: самой щедрой компанией считается Авито — медиана 351 000 ₽. Также в пятерке лидеров — Райффайзенбанк, Холдинг Т1, Иннотех и VK.
🔗 Вся статистика доступна на хабре.
💰 Сравнить динамику можно с этим постом.
Please open Telegram to view this post
VIEW IN TELEGRAM
Вышло мощнейшее интервью с Крисом Латтнером
Такие видео появляются крайне редко. Поэтому если у вас найдется время, обязательно постарайтесь взглянуть на диалог с создателем Swift, LLVM, Clang и других продуктов.
Интересно, что Крис отвечает не только на очевидные вопросы, но и делится инсайдами, а также рассказывает, как проект из потенциально интересного лишь паре сотен человек с 2010 до 2016 года прошел огромный путь и стал опенсорсным. Кстати, затрагиваются и интересные моменты, когда приходилось рассказывать профессионалам с годами опыта на Objective-C о преимуществах нового языка и какие сложности были на этом пути.
📺 Сохраняйте видео, чтобы посмотреть на ответы и комментарии одного из самых знаковых программистов нашего поколения.
😃 iOS Dev
Такие видео появляются крайне редко. Поэтому если у вас найдется время, обязательно постарайтесь взглянуть на диалог с создателем Swift, LLVM, Clang и других продуктов.
Интересно, что Крис отвечает не только на очевидные вопросы, но и делится инсайдами, а также рассказывает, как проект из потенциально интересного лишь паре сотен человек с 2010 до 2016 года прошел огромный путь и стал опенсорсным. Кстати, затрагиваются и интересные моменты, когда приходилось рассказывать профессионалам с годами опыта на Objective-C о преимуществах нового языка и какие сложности были на этом пути.
📺 Сохраняйте видео, чтобы посмотреть на ответы и комментарии одного из самых знаковых программистов нашего поколения.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
I Interviewed The Creator Of LLVM, Clang, Swift, and Mojo
Recorded live on twitch, GET IN
### Guests
Chris Lattner
https://x.com/clattner_llvm?s=21&t=-sv4MdpmLrRuMIhARbLk-g
https://www.modular.com
TJ DeVries
https://youtube.com/@teej_dv?si=AIrpF3SWJYZqlboU
### My Stream
https://twitch.tv/ThePrimeagen
###…
### Guests
Chris Lattner
https://x.com/clattner_llvm?s=21&t=-sv4MdpmLrRuMIhARbLk-g
https://www.modular.com
TJ DeVries
https://youtube.com/@teej_dv?si=AIrpF3SWJYZqlboU
### My Stream
https://twitch.tv/ThePrimeagen
###…
Как решить проблему missing package product
🔨 Один из самых неприятных багов в Xcode возникает, когда случайно удаляется файл
Это возможно, например, при изменении веток в гите, а в зависимости от размера проекта — таких ошибок могут быть десятки (иногда даже сотни).
Большинство возможных решений на форумах сводятся к магической комбинации очистки проекта (
📖 Все это занимает время, но Джесси Сквайрс советует проверить настройки git, или даже автоматизировать это с помощью Makefile.
📖 Напомню, что в канале есть разбор того, почему загрузка пакетов с помощью Swift Package Manager занимает слишком много времени.
А про основы Git для iOS-разработчиков можно почитать вот тут.
✅ И, конечно, подписывайтесь на iOS IQ — там ещё больше полезного контента.
😃 iOS Dev
Package.resolved
, что и приводит к ошибке missing package product
.Это возможно, например, при изменении веток в гите, а в зависимости от размера проекта — таких ошибок могут быть десятки (иногда даже сотни).
Большинство возможных решений на форумах сводятся к магической комбинации очистки проекта (
cmd-shift-K
), удаления DerivedData/
, или использования File > Packages > Reset Package Caches
(или закрытия и повторного открытия Xcode). 📖 Все это занимает время, но Джесси Сквайрс советует проверить настройки git, или даже автоматизировать это с помощью Makefile.
📖 Напомню, что в канале есть разбор того, почему загрузка пакетов с помощью Swift Package Manager занимает слишком много времени.
А про основы Git для iOS-разработчиков можно почитать вот тут.
Please open Telegram to view this post
VIEW IN TELEGRAM
Миграция проекта на Swift 6: неполное руководство
Наверняка, многие проходили несколько итераций апгрейда кодовой базы (кто-то даже с Objective-C, и до сих пор какой-то процент кода может быть написан на нём и в ваших текущих проектах).
Задача миграции всегда стоит особняком, это кропотливая, тяжёлая и совсем не быстрая работа, а одна из сложностей при оптимизации — показать ценность для бизнеса. Бывает непросто объяснить, почему нам нужно что-то менять, если и так всё работает. Но иногда это просто необходимо.
Конечно, при переходе на Swift 6 могут быть проблемы, да и что говорить, часто мы не всё можем контролить напрямую (те же зависимости CocoaPods или SPM), поэтому приходится искать варианты.
📖 В этом материале есть ответы на вопросы, возникающие при миграции, разбор ошибок и даже описание багов в самом Swift.
📖 А шаги, которые можно предпринять уже сейчас — описаны в этом посте.
😃 iOS Dev
Наверняка, многие проходили несколько итераций апгрейда кодовой базы (кто-то даже с Objective-C, и до сих пор какой-то процент кода может быть написан на нём и в ваших текущих проектах).
Задача миграции всегда стоит особняком, это кропотливая, тяжёлая и совсем не быстрая работа, а одна из сложностей при оптимизации — показать ценность для бизнеса. Бывает непросто объяснить, почему нам нужно что-то менять, если и так всё работает. Но иногда это просто необходимо.
Конечно, при переходе на Swift 6 могут быть проблемы, да и что говорить, часто мы не всё можем контролить напрямую (те же зависимости CocoaPods или SPM), поэтому приходится искать варианты.
📖 В этом материале есть ответы на вопросы, возникающие при миграции, разбор ошибок и даже описание багов в самом Swift.
📖 А шаги, которые можно предпринять уже сейчас — описаны в этом посте.
Please open Telegram to view this post
VIEW IN TELEGRAM
Разбор Grid View в SwiftUI: LazyVGrid, LazyHGrid, Grid, GridRow
Для создания нужного лэйаута в SwiftUI можно использовать
Начиная с iOS 16, нам также доступен вариант создания Grid с использованием
📖 В этой статье разбираются не только виды лэйаутов, но и опции кастомизации, включая интервалы, выравнивание и многое другое.
😃 iOS Dev
Для создания нужного лэйаута в SwiftUI можно использовать
LazyVGrid
, если нужно вертикальное отображение, и LazyHGrid
(если горизонтальное). Тем самым мы сможем добиться нужного эффекта, при этом адаптируемого к различным ориентациям и размерам экрана.Начиная с iOS 16, нам также доступен вариант создания Grid с использованием
GridRow
.📖 В этой статье разбираются не только виды лэйаутов, но и опции кастомизации, включая интервалы, выравнивание и многое другое.
Please open Telegram to view this post
VIEW IN TELEGRAM