Search Integration

Add search functionality using the built-in search bar or native iOS navigation search.

Two Search Options

  • Embedded search bar - Built into the table header
  • Navigation bar search - Uses UISearchController in the navigation bar

Enabled by default. Customize visibility:

var config = DataTableConfiguration()
config.shouldShowSearchSection = true  // Default
config.shouldSearchHeaderFloat = true  // Stays visible while scrolling

let dataTable = SwiftDataTable(data: items, columns: columns, options: config)
config.shouldShowSearchSection = false

For a native iOS look, use UISearchController:

class MyViewController: UIViewController {
    var dataTable: SwiftDataTable!

    override func viewDidLoad() {
        super.viewDidLoad()

        dataTable = SwiftDataTable(data: items, columns: columns)
        view.addSubview(dataTable)

        // One line to enable navigation bar search
        dataTable.installSearchController(on: self)
    }
}

Custom Search Controller

let searchController = dataTable.makeSearchController()
searchController.searchBar.placeholder = "Search products..."
searchController.obscuresBackgroundDuringPresentation = false
navigationItem.searchController = searchController
navigationItem.hidesSearchBarWhenScrolling = false

Search Behavior

Search filters across all visible columns. A row matches if any column contains the search text (case-insensitive).