#UIKit

Snapp iOS Weeklyios_newsletter_snapp
2026-03-10

Still bridging UIKit delegates back to SwiftUI? Coordinators are the essential link between 𝑈𝐼𝑉𝑖𝑒𝑤𝐶𝑜𝑛𝑡𝑟𝑜𝑙𝑙𝑒𝑟𝑅𝑒𝑝𝑟𝑒𝑠𝑒𝑛𝑡𝑎𝑏𝑙𝑒 and your SwiftUI state. Here's a solid refresher on how to utilize them.

🔗: tanaschita.com/swiftui-coordin by Natascha Fadeeva (@tanaschita)

Brian Gerfort🇺🇦:shuttersnitch:2ndNatureDev@mastodon.nu
2026-03-06

I'm an unhappy happy camper. Finally have Microsoft OneDrive uploads working in my app. But the MSAL.framework I embed (but make optional) crashes the app on launch on iOS 12:

DYLD, Symbol not found: ___chkstk_darwin

The crash also mentions the framework was built for iOS 13. Which is correct. So it'd be nice if it just ignored it. 😄

Anyone know if there's a trick to avoid loading of newer frameworks? I have access to the source code so I can get creative.

#UIKit #XCFramework #iOSDev #Xcode

2026-03-02

Нет соединения — не значит нет UX. Как не потерять доверие пользователя вместе с интернетом

Большинство разработчиков думают об офлайн-режиме в последнюю очередь - когда приложение уже готово, дизайн согласован, а PM давит на дедлайн. В результате пользователь видит белый экран, зависший спиннер или, что хуже - молча потерянные данные. Эта статья про то, как выстроить честный UX для состояний без сети: от психологии тревоги до кода с экспоненциальным откатом, от визуального языка ошибок до стратегий разрешения конфликтов. Всё это пригодится при разработке любого мобильного или веб-приложения, которое работает в условиях нестабильного соединения - а таких большинство. Продолжим

habr.com/ru/articles/1002388/

#ios #swift #swiftui #uikit #mobile #мобильная_разработка #мобильные_приложения #apple #ux #ui

2026-02-28

Кастомная галерея на iOS: от лага на 60 000 фото до lazy-загрузки и Combine

Если вы когда-нибудь разрабатывали мессенджер, то наверняка сталкивались с задачей выбора фотографий и видео для отправки. На первый взгляд кажется, что Apple предоставляет всё необходимое: UIImagePickerController, PHPickerViewController. Но стоит только копнуть чуть глубже, и оказывается, что стандартные компоненты не покрывают и половины того, что нужно в реальном продукте.

habr.com/ru/articles/1005060/

#iOS #Swift #UIKit #Photos_framework #UICollectionView #Combine #iCloud #lazy_loading #галерея #мессенджер

2026-02-24

Vacano UI — 64 React-компонента с MCP-сервером для AI-ассистентов

Привет, Хабр! Меня зовут Яков, я UI Kit Lead в Exante. На работе мы развиваем свою корпоративную дизайн-систему — мощную, заточенную под конкретные требования, но закрытую. В свободное время я переосмыслил ряд решений из рабочей практики, переработал их под общие паттерны и собрал в open-source библиотеку — Vacano UI . 64 компонента, 17 form-обёрток, 1800+ иконок, 10 валидаторов, документация для людей и MCP-сервер для AI-ассистентов.

habr.com/ru/articles/1003234/

#cssinjs #react #ui #uikit #frame

2026-02-24

Ваше iOS-приложение не закончено, если им не может пользоваться незрячий: Гайд по Accessibility

Как превратить ваше приложение в инклюзивный продукт, который используют ВСЕ - от слабовидящих до людей с когнитивными нарушениями. Плюс секретные фишки, о которых молчит документация Apple. Это руководство создано не для того, чтобы вы просто поставили галочку в Jira. Мы поговорим о том, как код может стать мостом или стеной для миллионов людей. Продолжим

habr.com/ru/articles/1002142/

#swift #swiftui #uikit #accessibility #voiceover #mobile_development #mobile_design #доступ #apple

Sam Clementecountablenewt
2026-02-22

It's kinda funny seeing and going "screw this I'm using / " when building

Like, I've explicitly told it to prefer because that's more what I know (though I was certified in UIKit)

Not even the agents will stick to it

2026-02-17

Искусство бесшовных переходов в iOS от 60 FPS до идеального UX

Вы когда-нибудь открывали приложение, где переход между экранами выглядит так, будто интерфейс собрали на коленке за час до дедлайна? Экран мигает, элементы прыгают, анимация тормозит и вы инстинктивно хотите закрыть это безобразие. Проблема не в том, что разработчик не умеет делать анимации. Проблема в том, что он не понимает, как работает восприятие пользователя. Давайте же разберем как делать переходы в iOS-приложениях так, чтобы они не раздражали, не ломали флоу и не заставляли пользователя думать "что-то пошло не так". Выясним почему 60 FPS - это не всегда гладко, как избежать типичных багов вроде джанка и мигания, правильно использовать matchedGeometryEffect , писать кастомные переходы без костылей и отлаживать всё это дело до идеального состояния. В конце разберём реальный кейс - переход от списка к детальной странице без единого моргания экрана. Продолжим

habr.com/ru/articles/1000184/

#iOS #SwiftUI #Swift #Анимация #Разработка_под_iOS #Интерфейсы #UX #Производительность #UIKit #Инструменты_разработки

Nico Reesenicoreese
2026-02-16

I hate when I get stuck with some great ideas because of system limitations. Is there really no way to have multiple UIHostingControllers nested in a UIViewController (think a design like iOS widgets) and being able to resize them (the height specifically) from within SwiftUI and let handle the resizing with an animation? SwiftUI animates it nicely, but the UIHostingController frame changes abruptly because it uses a different layouting system.

Nico Reesenicoreese
2026-02-16

The mess that is the search bar... in iOS 26.4 there's now these combinations. Honestly, it was more consistent in iOS 18 where it was *always* at the top.

- Separate search tab
- Merged search tab (new in 26.4, App Store)
- Bottom search field
- Top search field
- Top search button to bring up a top search field (Calendar)
- Top search button to bring up a bottom search field (Safari Tabs UI)

Nico Reesenicoreese
2026-02-16

Looks like iOS 26.4 now blurs the selected tab capsule? I could swear it was just translucent before?

Nico Reesenicoreese
2026-02-13

So, best practice to update views when a NSManagedObject changes is still to do this manually, right? Like I need to set the property again and then have something like updateUI().

(Example: a detail view controller which has multiple smaller views)?

developer.apple.com/documentat does only work for Observable objects.

Taka8FARMSvEzs
2026-02-12

In Japan, it's popular among Japanese pop culture fans to take photos with plushies (“nui-katsu”).

I built an iOS camera app that lets you composite plushies into photos — even if you don’t physically have them.

- Uses VisionKit to automatically extract plushies from images

- Adopts Liquid Glass and follows Apple’s native Camera app design

apps.apple.com/us/app/nuicam/i

demo1demo2demo3
2026-02-12

Магия вне Хогвартса: как делать «дорогой» UI, не перегружая GPU

Часто можно увидеть такую картину: разработчик влюбляется в концепт из Dribbble, тратит два дня на реализацию сложнейшей цепочки переходов, а потом удивляется, почему его iPhone 15 Pro начинает греться через пять минут использования приложения. Анимация - это всегда сделка с дьяволом (железом). Вопрос лишь в том, насколько выгодный курс обмена вы сможете выторговать. Продолжим

habr.com/ru/articles/995538/

#ios #swift #swiftui #mobile_development #apple #uikit #iphone #xcode

Nico Reesenicoreese
2026-02-03

Does anyone with a Pro Max phone know if applying scenePadding(.horizontal) is 20pt (as it should, like in ) or 16pt? The simulator always uses 16pt, making interoperability with UIKit very annoying with different margins.

2026-01-30

Сохранение позиции прокрутки и состояния курсора при переходах по навигации в iOS

Вы когда-нибудь замечали разницу между просто хорошим приложением и тем, которое ощущается «родным», надежным и дорогим? Часто дело не в дизайне или анимациях, а в мелочах, которые мы воспринимаем как должное, пока они не ломаются. Одна из таких критических мелочей - способность приложения помнить, где вы остановились. Вы читаете длинную статью, сворачиваете приложение, чтобы ответить на сообщение, возвращаетесь через минуту, а вас выбрасывает в самое начало текста. Раздражает, правда? Или пишете заметку, переключаетесь на браузер, возвращаетесь, а клавиатура скрыта и курсор потерян. В этой статье мы разберем, как технически грамотно реализовать сохранение позиции скролла и состояния курсора в iOS-приложениях. Мы уйдем дальше банальных советов и рассмотрим реальные сценарии с навигацией, табами и асинхронной загрузкой данных, чтобы ваши пользователи никогда не чувствовали себя потерянными. Продолжим

habr.com/ru/articles/991164/

#swift__разработка #uikit #ios #ios_development #mobile_development #мобильная_разработка

2026-01-26

Когда данных от Apple недостаточно: собираем метрики производительности UI

Привет, Хабр! Меня зовут Виталий Барабанов, я iOS-разработчик в hh.ru . Недавно мы столкнулись с проблемой: пришёл фидбэк от пользователей о тормозах и фризах в мобильном приложении. Но чтобы установить их причину, нам не хватило данных, которые по дефолту собирает Apple. Что делать в такой ситуации? А запилить собственный сбор метрик: с какой угодно фильтрацией, сбором любой информации, интеграцией со своей аналитикой и наблюдением в дебаг-панели! В статье я хочу поделиться с Хабром, как мы это сделали, сколько времени потратили и как интерпретировали результаты.

habr.com/ru/companies/hh/artic

#ui #метрики #ios #производительность #fps #swiftui #uikit

Pierre-Yves Lapersonnepylapp@framapiaf.org
2026-01-25

Combining UIKit and SwiftUI APIs isn't always easy.
But since Xcode 26.1, it's been a nightmare; the compiler struggles and ends up with cycles in the AttributeGraph sometimes :blobsob:

#ios #iosdev #swift #swiftui #uikit #viededev

2026-01-05

Oh interesting, they moved the NavigationBarLargeTitleView to the nested view's UICollectionView in iOS 26! I guess it makes sense since it now falls under the bar's elements so they can get those overlap glass FX and fade.

Had some trouble finding it before I noticed.

#uikit #iosdev

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst