Skip to main content
Starting May 1, 2024, Apple requires all iOS apps to include a privacy manifest. For more information, see Privacy manifest.
With InstantSearch iOS, you are in control of every widget’s UI. Each widget is represented by a protocol, for which Algolia provides default implementations. If these implementations don’t fit your purpose, you can either customize the existing implementation, or create your own.

Customize the existing implementation

All InstantSearch widgets are built through composition. This enables you to adapt the underlying Controller and add the behavior you want on top of the existing implementation. For example, here’s how you can set the text content type of a UISearchBar embedded in the SearchBarController:
Swift

Implement your own controller

If you want to replace the existing behavior of a default implementation, implement your own Controller.

Example

Here is a custom search box controller that uses UITextView as the input field:
Swift
Last modified on July 22, 2026