搜索栏未显示在视图控制器中

时间:2020-02-28 04:53:58

标签: swift uisearchcontroller

我正在尝试以编程方式向我的视图控制器添加搜索栏,但问题

我遇到的是在视图控制器中搜索栏不可见,我想知道如何在视图控制器中显示搜索栏。

class LocationViewController: UIViewController {

    let locationManager = CLLocationManager()
    var resultSearchControlle: UISearchController? = nil

    @IBOutlet weak var mapView: MKMapView!

    override func viewDidLoad() {
        super.viewDidLoad()

        let locationSearchTable = storyboard!.instantiateViewController(identifier: "LocationSearchTable") as! LocationTableViewController

        resultSearchControlle = UISearchController(searchResultsController: locationSearchTable)

        resultSearchControlle?.searchResultsUpdater = locationSearchTable

        let searchBar = resultSearchControlle!.searchBar

        searchBar.sizeToFit()

        searchBar.placeholder = "Search for a place"

        navigationItem.titleView = resultSearchControlle?.searchBar
        navigationItem.hidesSearchBarWhenScrolling = false

        definesPresentationContext = true

        locationSearchTable.mapView = mapView

    }

2 个答案:

答案 0 :(得分:0)

我正在使用您的代码并获得此结果

var resultSearchControlle: UISearchController? = nil
    // MARK: - Constants

    //static let reuseIdentifier = "Cell"
    override func viewDidLoad() {
        resultSearchControlle = UISearchController()
        let searchBar = resultSearchControlle!.searchBar
        searchBar.sizeToFit()
        searchBar.placeholder = "Search for a place"
        navigationItem.titleView = resultSearchControlle?.searchBar
        navigationItem.hidesSearchBarWhenScrolling = false
        definesPresentationContext = true

      //  locationSearchTable.mapView = mapView

    } 

enter image description here

答案 1 :(得分:0)

将您希望搜索栏显示在其中的视图控制器嵌入导航控制器内:

在情节提要中选择LocationViewController,然后在菜单中。

编辑器->嵌入->导航控制器

相关问题