Как стать автором
Поиск
Написать публикацию
Обновить
11.42

Swift *

Открытый объектно-ориентированный язык

Сначала показывать
Порог рейтинга
Уровень сложности

Создание собственного макета в SwiftUI. Интервалы

Время на прочтение5 мин
Количество просмотров742

Создание собственного макета в SwiftUI. Интервалы

Несколько макетов позволяют нам по-разному компоновать наши вью. Одним из важнейших факторов является расстояние между дочерними элементами конкретного макета. На этой неделе мы узнаем, как собрать пользовательский макет, позволяющий задавать определенный интервал между вью, и как соблюдать ориентированные на платформу предопределенные правила интервалов в SwiftUI.

Читать далее

Meet Transferable

Время на прочтение5 мин
Количество просмотров1.4K

На WWDC 2022 Apple представила множество интересных нововведений, одно из который — Transferable. О новом протоколе (только для SwiftUI и только для iOS 16, macOS 13 и tvOS 16?), который позволяет удобно и быстро передавать какие-либо данные как внутри приложения, так и между приложениями рассказывают разработчики студии CleverPumpkin.

Читать далее

Swift модуляризация вашего проекта

Время на прочтение2 мин
Количество просмотров2.6K

Всем привет сегодня я покажу как можно завернуть проект в spm (модуляризация)

Модуляризация — Это процесс разбиения кодовой базы на небольшие специализированные, готовые к повторному использованию модули

У меня есть небольшой проект и я хочу чтобы он был завернут в spm.

Читать далее

Приложение для бортпроводников c 23 интеграциями и работой без интернета

Время на прочтение3 мин
Количество просмотров3.2K

Как мы переводили работу бортпроводников из бумаги в приложение и внедряли фишечки для пассажиров.

Читать далее

Как устроено приложение Калькулятор на iPhone

Время на прочтение1 мин
Количество просмотров3.2K

Разберу как Apple использовали UIKit для приложения Калькулятор: Кнопки, окно ввода и жесты.

Из интересного - в клавиатуре комбинируют автолейаут и фреймы, сделали на сценах, а при повороте в альбомную ориентацию кнопки добавляются на лету. Подробнее под катом.

Читать далее

Обновление Системы ценообразования App Store: 700 новых ценовых пунктов

Время на прочтение5 мин
Количество просмотров1.8K

Обновление Системы Ценообразования App Store: 700 новых ценовых пунктов

Apple объявила об изменениях в своей системе ценообразования App Store - прочитайте об этом все.

Читать далее

Удаляем фон у фото используя CoreML

Время на прочтение6 мин
Количество просмотров4.7K

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

Узнать как вырезать фон

Создаем оберточный HStack с помощью протокола Layout SwiftUI

Время на прочтение6 мин
Количество просмотров1.6K

Создаем оберточный HStack с помощью протокола Layout SwiftUI

Компонент, который мы собираемся создать, доступен как Swift Package.

Читать далее

Моушн-инжиниринг в Масштабе

Время на прочтение8 мин
Количество просмотров493

Как Airbnb применяет декларативные шаблоны проектирования для быстрого создания плавной анимации перехода.

Читать далее

Анонс Lottie 4.0 для iOS

Время на прочтение4 мин
Количество просмотров2.5K

Анонс Lottie 4.0 для iOS

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

Читать далее

clipped() не оказывает влияния на проверку касаний

Время на прочтение2 мин
Количество просмотров1.2K

Clipped() не оказывает влияния на проверку касаний

Модификатор clipped() в SwiftUI обрезает вью до своих(модификатора) границ, скрывая все, что выходит за пределы этих границ. Но обратите внимание, что обрезание не влияет на проверку касаний (hit testing); обрезанный вью по-прежнему принимает тапы / клики за пределами видимой области.

Читать далее

Создание custom layout в SwiftUI. Кэширование

Время на прочтение2 мин
Количество просмотров1K

В предыдущем посте мы рассказали об основах нового протокола Layout. Сегодня я собираюсь продолжить серию постов, посвященной созданию многократно используемых custom layouts, рассказав про кэширование информации layout и настройку производительности.

SwiftUI вызывает функции вашего custom layout множество раз на протяжении всего жизненного цикла для определения различных вариантов размеров в процессе компоновки. Он кэширует несколько объектов автоматически, но вы также можете реализовать свой собственный вариант кэширования, если вам нужно улучшить производительность layout.

Читать далее

Ближайшие события

Flutter, создание Home Widget на платформе iOS

Время на прочтение6 мин
Количество просмотров3.4K

Всем привет! Меня зовут Константин, я Flutter-разработчик в компании Nord Clan.

В данной статье мы с моей коллегой Анной хотели бы поделиться нашим опытом связки Flutter и home widget на платформе iOS.

Читать далее

Bottom sheet: Scrolling and interactions

Время на прочтение8 мин
Количество просмотров4.9K

Отображать контент в виде bottom sheet — задача со звёздочкой сама по себе, но когда контента становится больше, чем помещается на контроллере, всё становится ещё любопытней. В третьей и заключительной статье про bottom sheet мы:

1) Добавим возможность закрывать контроллеры, презентованные как bottom sheet с помощью свайпа по контенту.

2) Реализуем отображение контента, который не имеет собственных значений высоты для autoLayout (контент с прокруткой).

Читать далее

Как Параллелизм в Swift предотвращает взрывы потоков?

Время на прочтение6 мин
Количество просмотров2.5K

Как Параллелизм в Swift предотвращает взрывы потоков?

Несколько недель назад я прочитал статью Войцеха Кулика, в которой он рассказывает о некоторых подводных камнях во фреймворке Swift Concurrency. В одном из разделов Войцех кратко упомянул взрыв потока и то, как Swift Concurrency может предотвратить его, ограничивая нас от чрезмерной загрузки системы бОльшим количеством потоков, чем ядер ЦП.

Это заставило меня задуматься… Так ли это на самом деле? Как это работает за кулисами? Можем ли мы как-то обмануть систему, чтобы она создавала больше потоков, чем ядер ЦП?

На все эти вопросы мы собираемся ответить в этой статье. Итак, без лишних слов, давайте сразу приступим.

Читать далее

Малоизвестные возможности расширения VS Code Swift

Время на прочтение4 мин
Количество просмотров4.8K

Большую часть этого года я работал над расширением Swift для Visual Studio Code.

Работа является частью Swift Server Workgroup, направленной на улучшение опыта разработки на Swift за пределами экосистемы Apple.

Читать далее

Скрывайте Виджеты Экрана Блокировки когда устройство заблокировано

Время на прочтение2 мин
Количество просмотров2.2K

Скрывайте Виджеты Экрана Блокировки когда устройство заблокировано.

Недавно на работе нас попросили скрыть(*спрятать) содержимое виджетов экрана блокировки, когда устройство заблокировано, подобно виджету Activity Rings, который не показывает ваш ежедневный прогресс, когда вы блокируете устройство. Оказалось, что не так уж очевидно, как этого добиться. В этом небольшом посте я хочу рассказать о том, что необходимо для достижения такого же поведения, как у виджета Activity Rings.

Читать далее

Делегаты в Swift на простом примере

Время на прочтение5 мин
Количество просмотров9.9K

Эта статья для уровня trainee, а значит для совсем начинающих великолепных разработчиков.

Статья состоит из двух частей. Первая - удалим из проекта Storyboard и напишем кодом простой интерфейс. Вторая - разберем, как с помощью делегата передать данные на предыдущий контроллер.

Основная цель статьи - рассказать просто, на примере, как можно использовать паттерн делегирования в Swift.

Читать далее