dinggu
dinggu

Reputation: 111

How to fix programmatically the search bar in swift

I programmatically created a search bar in ViewController. But when I scroll up the screen, the search bar goes up.

How can I freeze the search bar?

class searchbarTable:  UIViewController, UITableViewDelegate, UITableViewDataSource, UISearchResultsUpdating {
    @IBOutlet var tableview: UITableView!

    let searchController = UISearchController(searchResultsController: nil)

    override func viewDidLoad() {
        searchController.searchResultsUpdater = self
        searchController.dimsBackgroundDuringPresentation = false
        definesPresentationContext = true
        self.tableview.tableHeaderView = searchController.searchBar
    }
}

Upvotes: 0

Views: 1014

Answers (1)

Yogesh Patel
Yogesh Patel

Reputation: 2017

You can try this and set searchbar in Navigation Bar

self.navigationController?.searchDisplayController = searchController

OR

lazy var searchBar = UISearchBar(frame: CGRectZero)

override func viewDidLoad() {
    super.viewDidLoad()

    searchBar.placeholder = "Search"

    navigationItem.titleView = searchBar
}

OR

var leftNavBarButton = UIBarButtonItem(customView:Yoursearchbar)
  self.navigationItem.leftBarButtonItem = leftNavBarButton

OR

searchController.hidesNavigationBarDuringPresentation = false

it hide naviationbar when we present okay

Hope it helps You :)

Upvotes: 2

Related Questions