繁体   English   中英

带有tableview的Search Controller Scroll快速

[英]Search Controller Scroll with tableview in swift

具有tableview的搜索控制器工作正常。 我必须设置位置并隐藏/显示在表视图标题处工作的搜索控制器,当第一次不显示后视图滚动时,单击导航栏上的搜索栏按钮。 当我双击搜索按钮时,显示搜索栏控制器。 滚动表格视图后,我必须通过单击搜索按钮来显示搜索控制器

这是搜索控制器的代码

let searchController = UISearchController(searchResultsController: nil) 
override func viewDidLoad() {
        super.viewDidLoad()

{
    tableView.tableHeaderView = nil

 searchController.searchResultsUpdater = self

        searchController.hidesNavigationBarDuringPresentation = false

        searchController.dimsBackgroundDuringPresentation = false

        tableView.tableHeaderView = searchController.searchBar

        searchController.delegate = self

        searchController.searchBar.sizeToFit()


        self.searchController.searchBar.delegate = self

        tableView.tableHeaderView = nil


}



 func updateSearchResults(for searchController: UISearchController) {


        _ = kidsData

        let searchToSearch = searchController.searchBar.text

        if(searchToSearch == "")
        {
            self.kidsData = self.KidsDataDuplicate

        }
        else{

            self.kidsData.removeAll()

            let itemsarray = self.KidsDataDuplicate

            var forkidsinArray = \[String\]()

            for Kids in itemsarray {

                forkidsinArray.append(Kids.name)
                if(Kids.name.range(of: searchToSearch!, options: .caseInsensitive) != nil)
                {
                    self.kidsData.append(Kids)

                }

            }
          }

        self.tableView.reloadData()
    }

hide and unhide code 


    var launchBool: Bool = false {
        didSet {
            if launchBool == true {

                tableView.tableHeaderView = searchController.searchBar
                       let indexPath = IndexPath(row: 0, section: 0)
                      self.tableView.scrollToRow(at: indexPath, at: .middle, animated: true)


            } else {
                tableView.tableHeaderView = nil
                myInt = 0
            }
        }
    }


 @IBAction func NAVSearchButton(_ sender: UIBarButtonItem) {
        launchBool = !launchBool    
    }

在此处输入图片说明

在桌面视图滚动后,当我单击导航搜索栏控制器上的搜索按钮时,当我双击搜索按钮时,它没有显示,它显示了如何在滚动时使用表视图修复搜索控制器,请帮助我

如果我正确理解,则在navigation item后的属性检查器中添加单独的UISearchbar ,然后在UITableView下方添加。 固定约束。 现在,您的搜索栏将始终可见。 在您的情况下,搜索栏是设置为表标题视图。 这样,当您滚动时,搜索栏也会滚动

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM