With a bit of UIKit Jiggery-Pokery™ you can display arbitrary views as the content of a segmented control’s segments. In this case, a _UIHostingView featuring SwiftUI Text with an animated numeric content transition.
Although probably doable _with_, no private APIs used here!
PSA, UIScrollView has two private methods for getting the minimum and maximum content offset values, _minimumContentOffset and _maximumContentOffset.
Super helpful if you're trying to scroll to the very top/bottom of your content...
Woah...! Also new in 26.1 is a whole new UIVisualEffect subclass, UIColorEffect! It has a single effectWithColor: initialiser.
Does exactly what it says on the tin. Hardly revolutionary but means the QT'ed behaviour is officially supported, rather than a nasty hack.
Can just set the sheet presentation controller's background effect to UIColorEffect(color: .clear).
Got some questions about disabling the Liquid Glass to solid colour background transition in sheets. The answer, of course, lies in private UISheetPresentationController API.
Call the _setLargeBackground: method, passing in an instance of _UIViewGlass (variant 0, flexible true)
Apps should be more colorful! 🌈
This is one of my favorite tricks from Dream Machine - for just +75 bytes you get beautiful colors, animatable gradients and super fasts blurs 😊 (1/6)
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 👇
@StewartLynch It’s not simulator only, on real device there are problems with appearance in dark mode here and there, iOS 26 starting from beta 3 constantly drawing UI elements in light mode instead of dark
riddle me this… render me this… 🔍✨
RenderMeThis – a simple SwiftUI debugging tool that reveals when your views re-render, threw this together quickly
https://t.co/gHlJtT0Tlk
Ooh here's a fun one! 👀
UISheetPresentationController.Detent has a private _fullDetent method that, when applied to a UISheetPresentationController's detents array, enables switching between a sheet and a full screen modal with a gesture...
Super clean interaction!
Here’s a native API that powers auto-scrolling **Marquee Labels** — the same effect used in Apple Music’s Now Playing screen. Sadly, it’s a private API, but I’ve attached sample code snippets for both UIKit and SwiftUI👇
new package ⚡ MenuWithAView – a SwiftUI package that lets you add an accessory view to your context menu interactions in addition to the standard menu content, using UIKit's private _UIContextMenuAccessoryView.
https://t.co/Rh9Om2P5sY
Neat update for Portal 🌀
.portalTransition now takes in item, meaning you can trigger transitions using the same declarative, data-driven pattern as SwiftUI's .sheet(item:...)
This enables one .portalTransition modifier to dynamically manage animations for numerous source items, eliminating the need to define separate transitions for each.
https://t.co/vvb9EH12Jd
Dropped a new article over on my blog 👀
First post of 2025 and we’re exploring a _bunch_ of private UIAlertController APIs:
– Header view controller.
– Content view controller.
– Separated header view controller.
– Action with content view controller.
https://t.co/4dwRNOUQih