Repository navigation
iOS 26 fixes: navigation bars, search bar, date picker (Preview)
Seven fixes, most of them reported through the public repo, all verified
on an iPhone running iOS 26. To get them, install the SDK again with the
install command for your system from the getting started guide, then run
dn upgrade. This time the reinstall is needed: the fixes live in the
native iOS and Android bindings, and only the latest dn replaces those
on upgrade. dn tells you the update is there on your next command.
What changed
-
The back button stays put. When a screen with a large title pushed a
screen that used the system bar, the back button travelled in with the
bar instead of fading in at its place. On iOS 26 the system navigation
bar is now one bar for the whole stack, as it is in a UIKit or SwiftUI
app: a screen that draws its own bar leaves it empty, a screen that uses
the system bar fills it, and push and pop run the platform's own
transition. The back button fades in place and the title slides. -
No flash after a pop. Returning from a system-bar screen to a
large-title screen showed the content un-blurred under the collapsed bar
for one frame. The bar is no longer hidden after a pop, so the blur is
continuous through the transition. -
The search bar reports when it closes, and the title follows it.
SearchBarhas a newonClosedcallback: it fires after the user leaves
search with the platform's own control, Cancel on iOS or the back arrow
on Android, so a "search is open" flag in your state can follow. When
AppBar.searchBarcomes and goes across rebuilds, the bar's title now
steps aside while the pill is present and returns when you remove it, on
both platforms; before, the title stayed under the pill and the pill
stayed in the bar after you removed it. Cancel on iOS resets the query
and reports that throughonChangedonly when there was one. The clear
button inside the field is a text change and still reports an empty
string. -
A bar you return to answers taps again on iOS 26. With the one-bar
model above, a screen that draws its own bar (a search pill, a large
title, a custom title) could stop responding to taps in the bar after
you pushed a screen and came back, and a second, empty capsule could
show beside the back button during a push. The system bar now lets those
touches through for good and draws no back button of its own on such
screens. -
The first search bar opens without a stall on iOS. The first
SearchBaran app creates made UIKit build its search chrome on the
spot, a third of a second on the tap that showed it. That cost is now
paid at launch behind the splash screen, where the main thread is idle
anyway, so the first Search tap is as quick as every later one. -
The date picker's sheet fits its picker, and Done is whole on iOS 26.
The sheet fromshowDatePickershowed its Done button cut off at the
sheet's corner, and the date-and-time picker's time row could land on the
sheet's edge the first time it opened. The picker now sits under a
navigation bar inside the sheet, as the system's own pickers do, the
confirm control is the system item where iOS puts it, and the sheet is as
tall as the picker needs, every time. New:showDatePicker(confirmText:)
labels that control on both platforms; unset, each platform shows its own
(the checkmark capsule on iOS 26, "Done" on earlier iOS, "OK" on
Android). -
Bar buttons keep their capsule fitted on iOS 26. A
BarButtonItem
whose title changes on a rebuild, "Search" becoming "Close" for
instance, now re-sizes its glass capsule to the new text instead of
leaving the shorter title off-centre in the old one. -
In the tool, and it comes with the reinstall: profile runs on an
iPhone no longer hang.dn run --profileon an iPhone could sit on
"Installing and launching…" for good while the app was already running,
because the tool waited for a debugger signal that only debug builds
send.
Nothing changes in your code unless you want onClosed or confirmText. Screens that set
systemBar: true on AppBarIOSConfig and screens with a large title now
transition together the way the platform does. iOS 18 and Android are
untouched by the navigation bar change.
Build: SDK 19d573b7668 · engine 98a127957cb5. Install or update: curl -fsSL https://cdn.dartnative.com/install.sh | sh