Login Sign Up
Advert
Your ad spot
Reserve this exclusive slot for the selected period.
Buy advertising →
Telegram community logo - BW Swift
Added 06 Jan 2025

BW Swift

@bwswift
Number of subscribers: 1 742
Photos: 1,710
Videos: 176
Links: 1,590
Description:
Канал створений для навчання програмування на swift та розробці програм під iOS. Мета проекту - допомогти студентам пройти шлях від розробника-початківця до оплачуваного фахівця. Тут я публікую актуальні та цікаві статті щодо iOS розробки. Адмін: @bws2007
Source

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

Telegram community logo - BW Swift BW Swift @bwswift
1 070 Views/Reach 2025-10-02 19:42 Message №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. Можеш підписатися, якщо було цікаво =)