如何在旋转设备时为UISearchController制作autoLayout?

时间:2015-05-08 19:56:35

标签: ios swift uisearchbar uisearchcontroller

我正在使用UISearchController与我的tableview集成。为了使我的searchBar不滚动表,我已经在导航栏下创建了一个View(名称为SearchBarView),我的表位于此视图下。我视图中的所有元素都是使用自动布局设置的: enter image description here

在我的代码中。我创建了一个UISearchController,就像SearchBarView的子视图一样,并使用sideToFit函数自动调整屏幕的宽度,如下所示:

0

我的SearchBar现在工作正常,除了一个:当我旋转模拟器时,searchBar不会自动适合屏幕的宽度。当我触摸SearchBar进行搜索时,它只适合屏幕。 enter image description here enter image description here enter image description here enter image description here

我不知道如何解决。我试过这段代码:

mod(x,1)

但它仍然没有用。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:4)

在制作过渡动画时执行此操作:

- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id <UIViewControllerTransitionCoordinator>)coordinator
{
    [coordinator animateAlongsideTransition:^(id<UIViewControllerTransitionCoordinatorContext> context) {
        [_searchController.searchBar sizeToFit];
    } completion:nil];
}