Swift Talk 460
Visual Node Editor (Part 2)
We add focus behavior to the nodes and edges, with custom drawing and resize handles.
talk.objc.io/episodes/S01...
@objc.io.bsky.social
https://www.objc.io
Swift Talk 460
Visual Node Editor (Part 2)
We add focus behavior to the nodes and edges, with custom drawing and resize handles.
talk.objc.io/episodes/S01...
Swift Talk 459
Visual Node Editor (Part 1)
In a new series, we build a node editor to explore focus, selection, gestures, and accessibility.
This episode is free to watch, enjoy! πβ¨
talk.objc.io/episodes/S01...
Swift Talk 458
SwiftUI as Static Site Generator (Part 6)
We finish the series by adding Hummingbird as a web server, using WebSockets to reload live when something changes.
talk.objc.io/episodes/S01...
Swift Talk 457
SwiftUI as Static Site Generator (Part 5)
We generate share images from SwiftUI views, and use hashing to reload them correctly when content changes.
talk.objc.io/episodes/S01...
Swift Talk 456
SwiftUI as Static Site Generator (Part 4)
We add a templating system using the environment, and integrate Swim for HTML generation.
talk.objc.io/episodes/S01...
Swift Talk 455
SwiftUI as Static Site Generator (Part 3)
We add directory observation, which lets us use SwiftUI's preferences to generate the site.
talk.objc.io/episodes/S01...
Swift Talk 454
SwiftUI as Static Site Generator (Part 2)
We add file observation using GCDβs Dispatch Source APIs, which handle both standard write events and atomic delete-plus-write sequences.
talk.objc.io/episodes/S01...
Swift Talk 453
SwiftUI as Static Site Generator (Part 1)
We build a very unconventional static site generator on top of SwiftUI.
This episode is free to watch, enjoy! π
talk.objc.io/episodes/S01...
Swift Talk 452
Building a Token Field (Part 5)
We finish our drag-and-drop implementation, displaying an insertion point for dragging and using Transferable for the drop.
talk.objc.io/episodes/S01...
Swift Talk 451
Building a Token Field (Part 4)
We use SwiftUI's drag-and-drop APIs to support token reordering. While dragging is almost free, we need a delegate to track the dropping position.
talk.objc.io/episodes/S01...
Swift Talk 450
Building a Token Field (Part 3)
We add more selection and backspace behaviors. Token fields on macOS feel natural, but they're actually quite complicated!
talk.objc.io/episodes/S01...
Swift Talk 449
Building a Token Field (Part 2)
We add selection to our custom SwiftUI token field. Even the most basic behaviors are quite tricky!
talk.objc.io/episodes/S01...
Swift Talk 448
Building a Token Field (Part 1)
In a new series, we build a token view from scratch, using pure SwiftUI.
This episode is free to watch, enjoy! π
talk.objc.io/episodes/S01...
Swift Talk 447
Building a FaceTime-like Animation (Part 2)
We add smoothly animated drag gestures to our FaceTime-like view.
talk.objc.io/episodes/S01...
Swift Talk 446
Building a FaceTime-like Animation (Part 1)
We build an interactive animation similar to FaceTimeβs picture-in-picture view, visualizing the path it takes.
This episode is free to watch, enjoy! π
talk.objc.io/episodes/S01...
Swift Talk 445
Staggered Animations Revisited (Part 3)β¨
We add priorities and custom sorting to our staggered animations.
talk.objc.io/episodes/S01...
Swift Talk 444
Staggered Animations Revisited (Part 2)
We add custom transitions using SwiftUI's Transition protocol, which work when new views are inserted.
talk.objc.io/episodes/S01...
Swift Talk 443
Staggered Animations Revisited
After a two year hiatus, we build a staggered modifier in SwiftUI that works with any view in the view tree.
This episode is free to watch! π
talk.objc.io/episodes/S01...
print("Hello, Bluesky!")
28.02.2025 21:00 β π 6 π 0 π¬ 1 π 0