gpt4 book ai didi

ios - 在带有分页的 ScrollView 中拥有多个 tableView 会使 tableHeaderView 的 searchBar 不可触摸

转载 作者:行者123 更新时间:2023-11-30 13:44:01 26 4
gpt4 key购买 nike

我有 5 个 tableViewController,使用 UISearchResultsUpdating 协议(protocol)和新的 UISearchController

private var resultSearchController:UISearchController!
resultSearchController = UISearchController(searchResultsController: nil)
resultSearchController.searchResultsUpdater = self
resultSearchController.dimsBackgroundDuringPresentation = false
resultSearchController.searchBar.sizeToFit()
tableView.tableHeaderView = resultSearchController.searchBar
tableView.tableHeaderView?.backgroundColor = UIColor.redColor()
tableView.tableHeaderView?.userInteractionEnabled = true

当我通过将其推到其他 View Controller 之上来加载此 View Controller 时,一切正常。我可以触摸单元格,我可以触摸搜索栏并进行搜索。

现在,当我将 5 个(或更少,没关系)这些 tableViewController 放入包含 ScrollView 的 Controller 时

let rect: CGRect = self.view.frame
scrollView = UIScrollView(frame: rect)
scrollView.pagingEnabled = true

scrollView.addSubview(oneTableViewController)
scrollView.addSubview(twoTableViewController)...
  • 我可以通过左右滑动来浏览 5 个 tableViewController。
  • 我可以在任何表格 View 中选择一行。
  • 但我不能再碰搜索栏了...

我尝试设置:

  • scrollView.exclusiveTouch = false
  • 确保 tableView.tableHeaderView?.userInteractionEnabled = true

有什么想法吗?

最佳答案

通过查看您的问题,我认为可以有更好的方法来实现您正在做的事情。

我会说,不要在 ScrollView 中使用 5 个表格 View ,而是使用一个表格 View ,您可以将其单元格设置为显示数据。现在,您可以在不同的单元格中添加 ScrollView ,并在 ScrollView 上添加数据,这样您就可以向左滚动是的。

否则,如果您想继续采用相同的方法,

  1. 您可以将桌面 View 旋转 90 度,以便给您一种左右滚动的感觉。

  2. 您可以使用 tableview 的委托(delegate):

    func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 

    //do the check
    if tableView == YourTableView {
    //do your stuff. As you have indexPath you can get row at that indexPath
    }
    }

关于ios - 在带有分页的 ScrollView 中拥有多个 tableView 会使 tableHeaderView 的 searchBar 不可触摸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35192039/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com