На странице собраны вопросы по UIKit — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: ui, ios, mobile.
iOS-анимация, UIView При использовании UIView.animate значение frame UIView изменяется постепенно. Для получения текущего фрейма используйте presentation layer объекта CALayer presentationLayer в реальном времени…
Как работает RunLoop в iOS-разработке? основной механизм обработки очереди событий в iOS поддерживает бесконечный цикл, в котором обрабатываются события UI, таймеры и задачи обеспечивает асинхронное выполнение задач в…
Слабые ссылки — это ссылки, которые не препятствуют сборщику мусора GC освобождать объект. В Java для этого применяют класс WeakReference. Для коллекций используют WeakHashMap (ключи в ней являются слабыми ссылками)…
Навигация с координаторами и обработка Deep Link Координаторы — это паттерн управления навигацией, который выносит навигационную логику за пределы UI и контроллеров Их главная задача — централизованно управлять стеком…
Как связаны точки и пиксели и как рассчитать масштаб устройства? точки (points) — логические единицы для измерения интерфейса пиксели (pixels) — физические элементы экрана scale = pixels / points — коэффициент…
Обработка касаний только по кольцу «бублика» UI/UX, кастомные вью базовый принцип: прозрачная внутренняя область (пустота) переопределить метод hitTest:withEvent: определить, попадает ли точка в кольцевую область:…
Программное создание UI: плюсы и минусы Интерфейс полностью формируется с помощью программного кода на UIKit/SwiftUI Разработчик получает полный контроль над иерархией элементов и параметрами компонентов Отсутствуют…
Хранение weak-ссылок в массиве, например на UIViewControllers context: iOS/Swift, память и ARC стандартные коллекции не хранят weak-ссылки напрямую, поскольку для них требуется специальный тип-обертка слабую ссылку…
Сложность вставки элемента в массив структура данных: массив (статический или динамический) добавление в конец динамического массива: амортизированная сложность — O(1) добавление в начало либо середину: необходимо…
Методы layout у UIView и работа с Auto Layout layoutSubviews — главный метод раскладки: он вызывается после изменения фрейма или вызова setNeedsLayout; внутри него размещают сабвью. setNeedsLayout — отмечает view для…
коллекция содержит слабые ссылки на объекты GC освобождает объекты, для которых не осталось сильных ссылок часто выгружаемые объекты быстро превращаются в null внутри коллекции возможна нестабильность данных: элементы…
Верстка в UIKit: фреймы и констрейнты, ключевые различия В UIKit применяют два основных подхода к верстке: фреймы и Auto Layout (констрейнты). При использовании фреймов положение и размеры UIView задаются напрямую…