Seb Vidal (@SebJVidal) profile picture

iOS Developer 👨🏽‍💻 Chairman of the _UINavigationBarPalette fan club. Custom tab bar consultant.

Manchester, England
Joined June 2012
Photo by Seb Vidal (@SebJVidal)Photo by Seb Vidal (@SebJVidal)Photo by Seb Vidal (@SebJVidal)Photo by Seb Vidal (@SebJVidal)Photo by Seb Vidal (@SebJVidal)Photo by Seb Vidal (@SebJVidal)Photo by Seb Vidal (@SebJVidal)Photo by Seb Vidal (@SebJVidal)Photo by Seb Vidal (@SebJVidal)Photo by Seb Vidal (@SebJVidal)
Here it is! What's New in UIKit in iOS 26. This was a pretty mammoth undertaking, and it shows – a whopping 64 minute read! I'll be keeping this article up to date over the beta cycle. Possibly littered with errors. Shout at me if I've made any stupid mistakes. Link below 👇
35
39
11
467
75,156
So, it turns out you don’t need a custom tab bar to create a Liquid Glass floating action button…
6
2
120
9,741
A slightly different approach also works with iPhone Duo’s vertical tab bar.
12
972
I had to _slightly_ change my approach, adjusting the top contentInset instead of layoutMargins for the header inset, but this was largely plug and play. I also added fractional content offset logic so that when the bounds of the scroll view changes, the content offset adapts to ensure the scroll view is roughly scrolled to the same position.
A little late to the game, but I've started working on Duet's iPhone Duo layout. Namely, the Memory view. Quite happy with how this experiment worked out, time to bring it into the project and iron out all the edge cases I've inevitably forgotten about...
1
2
28
1,979
This feels tone-deaf from Ternus. Apple’s software quality has taken a nose dive in recent years. SpringBoard is riddled with UI bugs and glitches on their $2000 foldable — a device which should set the standard for its product category. The last thing the SWE org needs to do is “speed up”.
18
11
2
361
58,152
A little late to the game, but I've started working on Duet's iPhone Duo layout. Namely, the Memory view. Quite happy with how this experiment worked out, time to bring it into the project and iron out all the edge cases I've inevitably forgotten about...
6
1
23
4,070
This is a simple UIScrollView subclass, that overrides layoutSubviews to update the layoutMargins depending on a few factors: 1. The preferred header placement (resolved from the traitCollection's verticalBarEdge and horizontalSizeClass. 2. The vertical division reserved region's width and isActive status. 3. The trait collection's layoutDirection, either rightToLeft or anything else.
2
3
561
As a result of the above, it works just like any other UIScrollView, the API client can anchor content to the layoutMarginsGuide, frameLayoutGuide, or contentLayoutGuide, optionally vending a headerView and preferredHeaderAspectRatio which may or may not be respected based on the current layout environment.
1
448
A lesson in why you should probably just use system components…
9
3
3
252
12,968
On second thoughts, maybe it’s not such a bad thing that Apple are slashing employees’ AI spending limits 😬
In what world is this considered good enough to ship 😭
5
2
285
18,265
The good folks working on UIKit finally fixed the jiggly UIMenu dismissal bug in 27.2 😭 I think this got fixed for the zoom transition in 27.1? Glad to see the fix make its way to menus too!
8
1
73
4,650
It turns out the details they were sweating was absolutely a custom tab bar 🥲
Please tell me the details they’re sweating aren’t a custom tab bar 😭
16
4
4
231
23,024
PSA for @one_sec_app users: iOS 27.2 is out and it contains TONS of Shortcuts / Automations bug fixes, speed & reliability improvements. Highly recommend to update soon! Big shout-out to the Shortcuts team for all your amazing work this summer 🫶
2
3
26
1,842
Seb Vidal retweeted
Go behind the scenes of Made by Sound. A story of music, collaboration and craft with @fredagainagain1 and NEST Acoustics. Discover how sound brought the Apple Music logo to life, captured entirely in camera. Just music, made visible.
246
1,822
593
18,791
1,263,063
I’m really proud how our new iOS 27 onboarding turned out for @one_sec_app 🥰 more than 50% faster
7
2
33
2,501
Seb Vidal retweeted
Fixed Safari on Duo. Wider coming on October 23rd for free.
74
47
16
1,656
301,852
Has anyone run into, or better yet found a fix for, this SwiftUI bug where NavigationLinks remain disabled despite having an ancestor NavigationStack? 🫩 The navigation link seems to become active when the underlying hosting controller's view is reparented, such as when the navigation controller's interactive pop transition begins.
2
2
32
3,650
Yes! The screenshot popup 😭 Used to be so easy to copy to clipboard, then paste into Pixelmator or something to pixel peep. Now I have to routinely clear my desktop of simulator screenshots. Death by a thousand paper cuts.
Whoever decided: - Not to add “Slow Animations” in DeviceHub - To remove that lil popup you got when you saved screenshots I hope you stub your toe 🤗 (Joking, not joking)
9
2
38
4,450
Seb Vidal retweeted
Today I am open-sourcing my custom SwiftUI animation sequencing package that I developed to drive the animations in Letters. It can do all sorts of things! github.com/jazzychad/Animati…
9
14
2
136
11,448
Anyone else seeing this weird, green-ish hue to the background of sheet presentations? I don't think this is Duo-specific. Seems to affect sheets with glass backgrounds that transition to the system's default, opaque background when the active detent changes?
3
16
2,811
One thing building for the iPhone Duo has taught me: just use a UINavigationController for ad hoc "toolbar" buttons... Even if you don't need the functionality of pushing and popping view controllers onto a stack, it's worth the extra LOC for the correct system placement. A pattern I've enjoyed using is view controller subclasses vending their own child navigation controllers so API clients don't have to worry about wrapping the view controller themselves.
5
3
1
105
7,541