Не могу нажать на ячейки tableView при поиске

Я реализовал searchController, который, кажется, работает с фильтрацией данных, однако кажется, что при поиске применяется своего рода темное наложение, поэтому я не могу щелкнуть по ячейкам? Как это так?

ViewDidLoad

        resultSearchController = UISearchController(searchResultsController: nil)
        resultSearchController.hidesNavigationBarDuringPresentation = false


        resultSearchController.delegate = self
        resultSearchController.searchResultsUpdater = self
        resultSearchController.searchBar.sizeToFit()

        resultSearchController.searchBar.backgroundImage = UIImage()
        resultSearchController.searchBar.placeholder = "Søg"
        resultSearchController.searchBar.delegate = self
        resultSearchController.searchBar.returnKeyType = UIReturnKeyType.Default
        resultSearchController.searchBar.delegate = self
        let textFieldInsideSearchBar = resultSearchController.searchBar.valueForKey("searchField") as? UITextField
        textFieldInsideSearchBar?.backgroundColor = UIColor.whiteColor()
        textFieldInsideSearchBar?.clipsToBounds = true
        textFieldInsideSearchBar?.layer.cornerRadius = 1
        textFieldInsideSearchBar?.layer.borderWidth = 2
        textFieldInsideSearchBar?.layer.borderColor = UIColor.whiteColor().CGColor
        textFieldInsideSearchBar?.textColor = UIColor.darkGrayColor()


        self.tableView.tableHeaderView = resultSearchController.searchBar


    definesPresentationContext = true

TableView

 override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

    if (self.resultSearchController.searchBar.text?.characters.count > 0) {
        return self.filteredTableData.count
    }
    else {
        return self.sortedLocations.count
    }
}


override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCellWithIdentifier("HomeCell", forIndexPath: indexPath) as! HomeCell

    cell.selectionStyle = UITableViewCellSelectionStyle.None



    if (self.resultSearchController.searchBar.text?.characters.count > 0) {
        cell.backgroundImage.image = UIImage(data: filteredTableData[indexPath.row].image)

        cell.storeNameLabel.text = filteredTableData[indexPath.row].name.uppercaseString
        return cell
    }
    else {
        cell.backgroundImage.image = UIImage(data: sortedLocations[indexPath.row].image)

        cell.storeNameLabel.text = sortedLocations[indexPath.row].name.uppercaseString

        return cell
    }

}


func updateSearchResultsForSearchController(searchController: UISearchController)
{


    filteredTableData = sortedLocations.filter {
        $0.name.localizedCaseInsensitiveContainsString(searchController.searchBar.text!)

    }

    self.tableView.reloadData()
}

1 ответ

Задавать dimsBackgroundDuringPresentation из resultSearchController ложно

resultSearchController.dimsBackgroundDuringPresentation = false
Другие вопросы по тегам