解雇搜索栏

时间:2016-12-26 12:23:55

标签: ios swift search

我有一些问题。我有UITableView和tableView的标题是带有1个红色视图的searchController(此视图的内部将是一些图标)。 enter image description here

盯着搜索后出现取消按钮。 enter image description here

现在我按下取消按钮,搜索栏调整为全屏大小,红色视图消失。 enter image description here

如何解决这个问题?

这是我的headerView类:

 lazy var searchController = UISearchController(searchResultsController: nil).then {
    //return UISearchController().then {
        $0.dimsBackgroundDuringPresentation = false
        $0.searchBar.placeholder = "Искать по имени"
        $0.searchBar.tintColor = .black
        $0.searchBar.searchBarStyle = .minimal
        $0.searchBar.backgroundColor = .white
        UIBarButtonItem.appearance(whenContainedInInstancesOf: [UISearchBar.self]).setTitleTextAttributes([NSFontAttributeName : UIFont.appleSystemRegular(15)], for: .normal)
        $0.searchBar.setValue("Отмена", forKey:"_cancelButtonText")

    }

lazy var contentView: UIView = {
    let view = UIView()
    view.backgroundColor = .red
    return view
}()

override init(frame: CGRect) {
    super.init(frame: frame)
    setupViews()
    setupConstrains()
}

required init?(coder aDecoder: NSCoder) {
    fatalError("init(coder:) has not been implemented")
}

fileprivate func setupViews() {
    addSubview(contentView)
    addSubview(searchController.searchBar)
}

func setupConstrains() {
    searchController.searchBar.frame = CGRect(x: 0, y: 0, width: self.frame.width - 80, height: 44)
    contentView.frame = CGRect(x: self.frame.width - 65, y: 0, width: 50, height: 44)
}

1 个答案:

答案 0 :(得分:0)

删除搜索控制器并尝试仅搜索搜索栏代理。

func searchBar(searchBar: UISearchBar, textDidChange searchText: String) {

}