Вхід Реєстрація
Реклама
Ваше рекламне місце
Забронюйте цей слот без конкуренції на обраний період.
Купити рекламу →
Логотип телеграм спільноти - BW Swift
Додано 06 січ 2025

BW Swift

@bwswift
Кількість підписників: 1 748
Фото: 1,710
Відео: 176
Посилання: 1,590
Опис:
Канал створений для навчання програмування на swift та розробці програм під iOS. Мета проекту - допомогти студентам пройти шлях від розробника-початківця до оплачуваного фахівця. Тут я публікую актуальні та цікаві статті щодо iOS розробки. Адмін: @bws2007
Джерело

BW Swift | Зазвичай не люблю писати про UI, бо більше тягне на тяжкий люкс у вигл...

Логотип телеграм спільноти - BW Swift BW Swift @bwswift
1 070 Охват/переглядів 2025-10-02 19:42 Повідомлення №2179
Зазвичай не люблю писати про UI, бо більше тягне на тяжкий люкс у вигляді хаків та алгоритмів. Але тут екзотичний випадок =) Панове: реалізація бокових "sticky" хедерів на SwiftUI. Власне, Header знаходиться не зверху списку як заведено, а зліва або справа. При цьому його поведінка еквівалентна системним хедерам. Дизайн мого рішення напряму експлуатує системний топ хедер (власне, щоб делегувати йому більшість розрахунків), але основний виклик, що став переді мною - повністю "вирізати" його зверху, але зеберегти при цьому його логічну складову. Мої розрахунки здебільшого стосувалися поведінки бокового відображення. Бо навідміну від топ-хедера, що послідовно лежить в таблиці, боковий варіант лежить безпосередньо на рівні контенту, та не перекриває його. Створення такої таблиці умовно виглядає так: SideHeaderList(data: days) { day in ForEach(0..<4, id: \.self) { index in item(for: day, index: index) }} header: { day in header(for: day)}.padding(.horizontal) А повна реалізація складая лише 50 строк чистого SwiftUI коду. Планую трохи привести його до ладу та опенсорснути. Коли зроблю це, викачу з окремим дописом. Фан факт: за версією ChatGPT, подібних реалізацій інтернет не знає.Ну а поки, діліться ідеями, як би ви реалізовували подібний компонент, та яким бачите його практичне використання! Може вкраду декілька ідей =)------------------------------Я часто пишу і писав різні здебільшого технічні цікавинки на моєму Linkedin. Можеш підписатися, якщо було цікаво =)