easy_dev991 – Telegram
easy_dev991
628 subscribers
37 photos
21 videos
3 files
175 links
Делюсь интересными находками/лайфхаками в процессе разработки под iOS, и возможно ты найдешь что-то полезное для себя!

GitHub: https://github.com/easydev991
Download Telegram
Есть SwiftUI-вьюха, к которой подключены модификаторы onAppear, onViewWillAppear, onDisappear. Второй - это UIViewController в бэкграунде, который вызывает свое событие viewWillAppear. Что и в каком порядке будет вызвано при жесте частичного свайпа назад?
Final Results
19%
При старте свайпа назад вызовется onDisappear
8%
При отмене свайпа назад вызовется onAppear
24%
При отмене свайпа назад вызовется onWillAppear
6%
При отмене свайпа назад вызовется onAppear, потом onWillAppear
33%
При отмене свайпа назад вызовется onWillAppear, потом onAppear
33%
При старте свайпа назад ничего не вызовется
😁1🤔1
#ios #swiftui #xcode #preview

Рубрика "За кулисами", или как работает SwiftUI превью при подготовке статьи 🤓
😁7👾1
#ios #swift #uitabbarcontroller #tabbar #accessibility

Чтобы выключить доступность стандартного таббара (и чтобы voice over его вообще не видел), можно сделать так:

tabBar.isAccessibilityElement = false
tabBar.accessibilityElementsHidden = true // <- это скроет кнопки таббара


Если не применить вторую строчку, кнопки будут доступны, несмотря на первую настройку.

Может пригодиться, если у вас таббар на UIKit, а вьюха для него на SwiftUI.
👍3😁1
#ios #swift #uitabbarcontroller #tabbar #ipad

Если у кого-то внезапно вылезет новый системный таббар на айпаде (iPad OS 18+) в верхней части экрана, то вот таким способом его можно убрать в UIKit


if #available(iOS 18.0, *), UIDevice.current.userInterfaceIdiom == .pad {
tabBarController.traitOverrides.horizontalSizeClass = .compact
}


Если этого не сделать, то ваш кастомный таббар скорее всего будет накладываться поверх контента в нижней части экрана (некрасиво), а в верхней части экрана появится дополнительный системный таббар.
4👍4🔥2😁1
Поднял версию Swift до 6 в проекте с кодом для статей, поправил все ошибки.
Если хотите статью на эту тему, ставьте 👍
👍23🔥1
Коротко про рынок IT и рекрутеров в наше непростое время.
Приглашают iOS разработчика на вакансии, никаким образом не связанные с iOS разработкой 🤡

Зато мы точно знаем, на каких специалистов спрос выше, чем на iOS разработчиков: авто-тестировщики и 1С.
😁83👍3
Как часто пользуетесь в `Xcode` функцией `Debug` -> `Attach to Process ...`?
Anonymous Poll
8%
Регулярно
25%
Редко
26%
Никогда (но знаю что это)
41%
Никогда (не знаю, для чего это)
👍2
easy_dev991
Как часто пользуетесь в `Xcode` функцией `Debug` -> `Attach to Process ...`?
Рассказал в деталях про кейс, где эта штука может пригодиться и как она может выручить со сложными багами 👍
Почитать можно в платном канале:
- базовая подписка
- продвинутая подписка
- сеньорская подписка
😁7👍3🤯1
Интересно узнать как разные компании обходят блокировки аппстора, и какой способ самый успешный - ставь 👍.
Если неинтересно, или уже сами нашли способ, ставь любую другую реакцию.
👍42😁2
#ios #xcode #test #testing

Нашел интересный кейс, когда Xcode выдает предупреждение, которого быть не должно:


let optionalInt: Int? = 5
let optionalString: String? = "asdf"
let optionalBool: Bool? = false
let requiredInt = try #require(optionalInt) // <- все ок
let requiredString = try #require(optionalString) // <- все ок
let requiredBool = try #require(optionalBool) // <- выдает ворнинг и предлагает безопасно развернуть опционал
👍2
Представим, что вам дали задачу: отключить возможность скроллить стандартный ScrollView в SwiftUI на вашем экране. Решение должно работать на iOS 15+.
Anonymous Poll
22%
Знаю как это сделать стандартными инструментами
10%
Знаю как это сделать обходными путями (интроспектом, например)
7%
Знаю как сделать только для iOS 16+
7%
Скажу, что такое будет не провернуть)
54%
Посмотреть ответы
2