Hie*_*ham 5 uisearchbar ios swift uisearchcontroller
我正在使用UISearchController与我的tableview集成.为了使我的searchBar不滚动表,我已经在导航栏下创建了一个View(名称为SearchBarView),我的表位于此视图下.我视图中的所有元素都是使用自动布局设置的:

在我的代码中.我创建了一个UISearchController,就像SearchBarView的子视图一样,并使用sideToFit函数自动调整屏幕的宽度,如下所示:
self.resultSeachController = ({
let controller = UISearchController(searchResultsController: nil)
controller.searchResultsUpdater = self
controller.dimsBackgroundDuringPresentation = false
controller.searchBar.sizeToFit()
// add searchbar in the searchbarView
self.searchBarView.addSubview(controller.searchBar)
return controller
})()
Run Code Online (Sandbox Code Playgroud)
我的SearchBar现在工作正常,除了一个:当我旋转模拟器时,searchBar不会自动适合屏幕的宽度.当我触摸SearchBar进行搜索时,它只适合屏幕.

我不知道如何解决.我试过这段代码:
override func viewWillTransitionToSize(size: CGSize, withTransitionCoordinator coordinator: UIViewControllerTransitionCoordinator) {
self.resultSeachController.searchBar.sizeToFit()
}
Run Code Online (Sandbox Code Playgroud)
但它仍然无法正常工作.我该如何解决这个问题?
在随着过渡制作动画时执行此操作:
- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id <UIViewControllerTransitionCoordinator>)coordinator
{
[coordinator animateAlongsideTransition:^(id<UIViewControllerTransitionCoordinatorContext> context) {
[_searchController.searchBar sizeToFit];
} completion:nil];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1107 次 |
| 最近记录: |