UISearchController:搜索栏最初太宽

时间:2016-03-22 20:34:03

标签: ios swift uisearchbar

我在UISearchBar(在TabBarController的其中一个子视图上)以编程方式添加UIView时出现问题:

首次加载屏幕时,搜索栏太宽,无法完全适合视图。但是,当您点按内部然后点击Cancel按钮时,搜索栏会调整大小以便它适合UIView。

我在GitHub上传了一个示例项目 - 可以在BlueViewController类的第二个选项卡上观察到不正确的行为。 我已经尝试了很多东西,你可以在代码中看到并搜索最流行的StackOverflow答案,但到目前为止,他们都没有解决这个问题。

这是项目的链接: https://github.com/asia-t/tabbartest

如果有人可以了解可能发生的事情,那就太好了。

enter image description here

1 个答案:

答案 0 :(得分:7)

您可以实施以下方法来修复搜索栏的框架:

override func viewDidLayoutSubviews() {
    var searchBarFrame = searchController.searchBar.frame
    searchBarFrame.size.width = vanillaSearchBar.frame.size.width
    searchController.searchBar.frame = searchBarFrame
}