Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to change height of search bar? Swift

I have this:

http://postimg.cc/image/oepn8hhzd/

and I need this one:

http://postimg.cc/image/4bacislw5/

My code of search bar

var searchBar:UISearchBar = UISearchBar(frame: CGRectMake(0, 0, 200, 0))


    searchBar.tintColor = UIColor.blueColor()
    self.searchBar.layer.borderColor = UIColor.blueColor().CGColor
    self.searchBar.layer.borderWidth = 0.5
    self.searchBar.layer.cornerRadius = 5.0
    self.searchBar.clipsToBounds = true
    searchBar.placeholder = "Search for cities"
    searchBar.sizeToFit()


    self.searchBar.setImage(UIImage(named: "Search@3x"), forSearchBarIcon: UISearchBarIcon.Search, state: UIControlState.Normal)
    self.searchBar.setImage(UIImage(named: "Close@3x"), forSearchBarIcon: UISearchBarIcon.Clear, state: UIControlState.Normal)

    searchBar.delegate = self


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

Any ideas? (Sorry for links, I cannot insert images)

like image 382
Lifeplus Avatar asked Jul 16 '15 06:07

Lifeplus


1 Answers

You can use another view as navigation bar title and place search bar inside it.

let searchController = UISearchController(searchResultsController: nil)
searchController.hidesNavigationBarDuringPresentation = false
searchController.dimsBackgroundDuringPresentation = false
searchController.searchBar.delegate = self

let frame = CGRect(x: 0, y: 0, width: 100, height: 44)
let titleView = UIView(frame: frame)
searchController.searchBar.backgroundImage = UIImage()
searchController.searchBar.frame = frame
titleView.addSubview(searchController.searchBar)
navigationItem.titleView = titleView

Hope this will help.

like image 133
Dharmesh Kheni Avatar answered Oct 21 '22 06:10

Dharmesh Kheni