Himan Dhawan
Himan Dhawan

Reputation: 924

Extra space between search bar and search view controller

Implementation for search functionality using custom search view controller :

    final class MoviesViewController: UITableViewController, UISearchResultsUpdating {
        
        var movies = [Movie]() {
            didSet {
                tableView.reloadSections(IndexSet(integer: 0), with: .automatic)
            }
        }
    
        let searchViewController = UISearchController(searchResultsController: SearchResultsViewController())
        }
override func viewDidLoad() {
        super.viewDidLoad()
        
        configureSearchBar()
        
        
    }
        override func viewDidAppear(_ animated: Bool)
        {
            searchViewController.searchResultsUpdater = self
            
            navigationItem.searchController = searchViewController
            navigationItem.hidesSearchBarWhenScrolling = false
            
            definesPresentationContext = true
        }
        private func configureSearchBar() {
        
            let searchTextField = searchViewController.searchBar.searchTextField
            searchTextField.attributedPlaceholder = NSAttributedString(string: "Search", attributes: [.font: UIFont.Body.medium, .foregroundColor: UIColor.Text.charcoal])
            searchTextField.font = UIFont(name: "Poppins-Regular", size: 16)
            searchTextField.backgroundColor = UIColor(red: 248 / 255.0, green: 248 / 255.0, blue: 248 / 255.0, alpha: 1)
            searchTextField.borderStyle = .none
            searchTextField.layer.borderColor = UIColor.black.withAlphaComponent(0.08).cgColor
            searchTextField.layer.borderWidth = 1.0
            searchTextField.layer.cornerRadius = 8
            
            searchViewController.searchBar.setLeftImage(UIImage(named: "Search"))
            searchViewController.searchBar.barTintColor = .clear
            searchViewController.searchBar.setImage(UIImage(named: "Filter"), for: .bookmark, state: .normal)
            searchViewController.searchBar.showsBookmarkButton = true
            searchViewController.searchBar.delegate = self
            searchViewController.searchBar.tintColor = UIColor.Brand.popsicle40
        }

It creates space between search bar and search view controller like this. How can we remove the space between search bar and search bar controller :

enter image description here

Upvotes: 0

Views: 81

Answers (1)

krishan kumar
krishan kumar

Reputation: 428

Make sure navigationController.navigationBar.isTranslucent is set to true

Upvotes: 1

Related Questions