Ios UISearchController。搜索控制器没有';在设备旋转后不能调整大小

Ios UISearchController。搜索控制器没有';在设备旋转后不能调整大小,ios,iphone,swift,uinavigationbar,uisearchcontroller,Ios,Iphone,Swift,Uinavigationbar,Uisearchcontroller,我正在视图上使用UISearchController查找项目。搜索栏在非活动移动时可以正确调整大小。但是,如果您启用搜索并将设备从横向模式旋转到纵向模式,再旋转到横向模式,它将不适合查看。在“我的视图”中,我使用可以在纵向模式下切换的导航项。 我尝试动态调整搜索栏视图的大小,它调整了大小,但搜索栏的位置保持不变。 搜索控制器的初始化: let searchController = UISearchController(searchResultsController: nil)

我正在视图上使用UISearchController查找项目。搜索栏在非活动移动时可以正确调整大小。但是,如果您启用搜索并将设备从横向模式旋转到纵向模式,再旋转到横向模式,它将不适合查看。在“我的视图”中,我使用可以在纵向模式下切换的导航项。 我尝试动态调整搜索栏视图的大小,它调整了大小,但搜索栏的位置保持不变。 搜索控制器的初始化:

        let searchController = UISearchController(searchResultsController: nil)
        searchController.searchResultsUpdater = self
        searchController.dimsBackgroundDuringPresentation = false
        definesPresentationContext = false
        tableView.tableHeaderView = searchController.searchBar
        tableView.register(UINib(nibName: tableCellName, bundle: nil), forCellReuseIdentifier: tableCellName)
一,

2.让我们再次启用搜索并将设备旋转到纵向和横向。

  • 搜索栏的宽度似乎包括导航视图的宽度。但是,当它处于非活动状态时,它适用于整个视图。

  • 你使用自动布局吗?是的,谢谢你的重要评论。我们对主视图使用约束。您为搜索栏设置了约束吗?没有。我将搜索栏设置为tableView的标题。我想约束是自动应用于搜索栏的。正如我所说,只有在搜索栏启用时才会出现调整大小的问题。关于“当searchController处于活动状态以适应宽度时的条件”。搜索栏在纵向模式下按照“navigation.view.width”+“table view.width”的方式重新计算宽度似乎是个问题。另一方面,当搜索栏处于非活动状态时,它不会计算。更重要的是,要正确调整表的大小。你使用自动布局吗?是的,谢谢你的重要评论。我们对主视图使用约束。您为搜索栏设置了约束吗?没有。我将搜索栏设置为tableView的标题。我想约束是自动应用于搜索栏的。正如我所说,只有在搜索栏启用时才会出现调整大小的问题。关于“当searchController处于活动状态以适应宽度时的条件”。搜索栏在纵向模式下按照“navigation.view.width”+“table view.width”的方式重新计算宽度似乎是个问题。另一方面,当搜索栏处于非活动状态时,它不会计算。更重要的是,可以正确调整表的大小。