Swift version: 5.6
You can embed a search controller right into any view controller that’s inside a UINavigationController
using code like this:
navigationItem.searchController = yourSearchController
However, when your view controller happens to be a scrolling one – most commonly a table view or a collection view – the search bar will automatically hide itself along with your content.
If this isn’t what you want - if you want the search bar to be visible regardless of the user’s scroll position - then you need to set your navigation item’s hidesSearchBarWhenScrolling
property to false, like this:
navigationItem.hidesSearchBarWhenScrolling = false
TAKE YOUR SKILLS TO THE NEXT LEVEL If you like Hacking with Swift, you'll love Hacking with Swift+ – it's my premium service where you can learn advanced Swift and SwiftUI, functional programming, algorithms, and more. Plus it comes with stacks of benefits, including monthly live streams, downloadable projects, a 20% discount on all books, and free gifts!
Sponsor Hacking with Swift and reach the world's largest Swift community!
Available from iOS 11.0
This is part of the Swift Knowledge Base, a free, searchable collection of solutions for common iOS questions.
Link copied to your pasteboard.