Ios 取消搜索栏

Ios 取消搜索栏,ios,swift,search,Ios,Swift,Search,我有一些问题。我有UITableView,tableView的标题是searchController,带有一个红色视图(该视图内部将显示一些图标) 启动搜索后,出现“取消”按钮 现在我按下“取消”按钮,搜索栏调整为全屏大小,红色视图消失 如何解决这个问题 这是我的班主任课程: lazy var searchController = UISearchController(searchResultsController: nil).then { //return UISearchContr

我有一些问题。我有UITableView,tableView的标题是searchController,带有一个红色视图(该视图内部将显示一些图标)

启动搜索后,出现“取消”按钮

现在我按下“取消”按钮,搜索栏调整为全屏大小,红色视图消失

如何解决这个问题

这是我的班主任课程:

 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)
}

删除searchcontroller并尝试仅搜索searchbar委托

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

}

您是否使用约束来排列搜索栏和redView?不,我现在将尝试使用UITableViewHeaderFooterView来正确使用约束。