|
You are here |
sarunw.com | ||
| | | | |
www.iamsim.me
|
|
| | | | | Not being able to run arbitrary code in SwiftUI view builders can be quite annoying. The other day I realized it's possible to use self executing closures to work around this! Here's a contrived example that creates a stretchy header: struct ScrollThing: View { var body: some View { ScrollView { VStack(spacing: 0) { GeometryReader { g in Color.white .offset(y: { let offsetY = g.frame(in: .global).minY return offsetY > 0 | |
| | | | |
sintraworks.github.io
|
|
| | | | | In this post we will create a SwiftUI control that can be popped up from the bottom of the screen. We will also make it possible to allow a specific view (usually the view that triggers the control and reflects the chosen value) to be raised, if it would otherwise be obscured by the control when the control pops up. This post assumes you have a reasonable knowledge of SwiftUI and are at least somewhat familiar with more advanced topics such as bindings, geometery readers, preference keys, etc. It won't go into details as to how they work. I will simply show how to use them to achieve the desired effact. | |
| | | | |
www.objc.io
|
|
| | | | | objc.io publishes books, videos, and articles on advanced techniques for iOS and macOS development. | |
| | | | |
swiftwithmajid.com
|
|
| | | That is WWDC week: everybody is so excited about so many new things like SwiftUI, Dark Mode, updateable Core ML models, etc. I will try to cover all the new stuff during the upcoming weeks. Let's start with SwiftUI. SwiftUI is an entirely new approach to building apps for the Apple ecosystem. | ||