iOS 27 introduces updated search field placement patterns with Liquid Glass styling, including ergonomic bottom-toolbar search that animates over the keyboard, prominent Search Tab options, and adaptive toolbar search that collapses to a button on constrained layouts.
⢠Search fields placed in toolbars now automatically render with Liquid Glass material instead of the previous opaque bar background
⢠New bottom-toolbar search pattern animates the field upward over the keyboard, an ergonomic shift not available as a first-class pattern pre-iOS 27
⢠Prominent tab appearance for a Search Tab (immediate keyboard focus on tap) is a newly documented and supported pattern in iOS 27
⢠Adaptive toolbar search now automatically collapses to a button when space is constrained, then expands with overflow items moved to a menu
⢠Search fields placed in toolbars automatically adopt Liquid Glass styling, providing visual consistency with the new iOS 27 design language without extra code
⢠Bottom toolbar search animates fluidly over the keyboard for one-handed reachability, a new ergonomic pattern developers should adopt for list-based apps
⢠Scope bars, recent search suggestions, and predictive completions now have clearer placement guidelines tied to where the search field lives, reducing design ambiguity
Demonstrates the new iOS 27 bottom-toolbar search placement where the field animates over the keyboard, combined with a scope bar for filtering results across mailboxes.
import SwiftUIstruct Message: Identifiable {let id = UUID()let sender: Stringlet subject: Stringlet mailbox: String}enum MailboxScope: String, CaseIterable, Identifiable {case all = "All Mailboxes"case inbox = "Inbox"case sent = "Sent"var id: String { rawValue }}ā// Pre-iOS 27: searchable placed in the navigation bar (top).ā// No Liquid Glass material; field stays at top when keyboard appears.ā// No bottom-toolbar animation or ergonomic keyboard-adjacent layout.āstruct MailSearchDemoViewLegacy: View {+struct MailSearchDemoView: View {@State private var searchText = ""@State private var selectedScope: MailboxScope = .alllet messages: [Message] = [Message(sender: "Apple", subject: "Your receipt", mailbox: "Inbox"),Message(sender: "Team", subject: "Sprint review", mailbox: "Inbox"),Message(sender: "Me", subject: "Follow-up notes", mailbox: "Sent"),Message(sender: "GitHub", subject: "PR merged", mailbox: "Inbox"),Message(sender: "Me", subject: "Design feedback", mailbox: "Sent"),]var filteredMessages: [Message] {messages.filter { message inlet matchesScope = selectedScope == .all || message.mailbox == selectedScope.rawValuelet matchesSearch = searchText.isEmpty ||message.sender.localizedCaseInsensitiveContains(searchText) ||message.subject.localizedCaseInsensitiveContains(searchText)return matchesScope && matchesSearch}}var body: some View {NavigationStack {List(filteredMessages) { message inVStack(alignment: .leading, spacing: 4) {Text(message.sender).font(.headline)Text(message.subject).font(.subheadline).foregroundStyle(.secondary)}}.navigationTitle("Mail")ā // Pre-iOS 27 default placement: navigation bar (top).ā // Field does not animate over keyboard; no glass material.+ // searchable with placement: .toolbaritem(.bottomBar) produces+ // the iOS 27 bottom-toolbar Liquid Glass search field that+ // animates upward over the keyboard when activated..searchable(text: $searchText,ā placement: .navigationBarDrawer(displayMode: .always),+ placement: .toolbarItem(.bottomBar),prompt: "Search Mail")ā .searchScopes($selectedScope) {+ .searchScopes($selectedScope, activation: .onSearchPresentation) {ForEach(MailboxScope.allCases) { scope inText(scope.rawValue).tag(scope)}}+ .toolbar {+ ToolbarItem(placement: .bottomBar) {+ Button(action: {}) {+ Label("Compose", systemImage: "square.and.pencil")+ }+ }+ }}}}#Preview {ā MailSearchDemoViewLegacy()+ MailSearchDemoView()}
Liquid Glass is Apple's new material and visual design language introduced in iOS 27, bringing translucent, refractive glass-like surfaces to system and custom UI elements. It replaces the frosted vibrancy aesthetic with a more dynamic, depth-aware material that responds to content beneath it.
PaperKit is Apple's full-featured canvas framework ā previously internal-only ā now publicly available in iOS/macOS/visionOS 27. It powers the drawing and markup experience in Notes, Preview, and Freeform, giving developers access to a complete pencil, shapes, images, and text canvas with a rich data model.
iOS 27 brings significant updates to Live Activities and the Dynamic Island, including new expanded presentations, richer interactivity via App Intents directly from the island, and updated layout APIs for more expressive minimal and compact views.
In-depth guide
SwiftUI & Liquid Glass in iOS 27 āPlacing searchable() in the wrong toolbar position will not produce the bottom-animating behavior ā the field must be associated with a bottom toolbar to get the keyboard-adjacent animation. Custom icons replacing the magnifying glass must closely resemble standard symbols or users may not recognise the field as search. Over-customising the search field risks breaking the automatic glass/content styling that SwiftUI applies based on placement context.
Liquid Glass visual treatment is iOS 27+ only; iPad and Mac variants require appropriate split-view or sidebar navigation structure
Xcode 27 introduces a fully customizable toolbar and theme system, untitled scratch projects, coding agent integration directly in the editor, and the new Device Hub for evaluating apps across simulators and physical devices side-by-side.