【发布时间】:2018-04-06 23:50:22
【问题描述】:
我正在尝试在我的应用程序 UI 中放置一个 UISearchController。布局是:
- 黄色:一个 ViewController
- 红色:另一个 ViewController
- 黑色:YellowViewController 中的一个容器
我想将 UISearchController 的 UISearchView 放在黑色容器中。
我的代码如下:
self.searchController = [[UISearchController alloc] initWithSearchResultsController:searchResultsViewController];
UISearchBar* searchBar = self.searchController.searchBar;
searchBar.frame =_searchBarContainer.bounds;
[_searchBarContainer addSubview:searchBar];
[_searchBarContainer layoutIfNeeded];
它将 UISearchBar 放置在正确的位置:
但是当我选择搜索字段时,它会在容器的边界上展开栏:
我该如何解决这个问题并避免在选择时改变尺寸/外观?
注意:尝试了一些使用 translatesAutoresizingMaskIntoConstraints 和 clipToBounds 选项的选项,但没有成功。我不是 iOS UI 的专家,所以我会很感激一个准确的答案。谢谢
【问题讨论】:
-
你试过设置固定宽度还是固定最大宽度?
-
在将 searchBar 添加到子视图之前尝试设置 searchBar.frame。
-
@SteeBono 在示例代码中我设置了 searchBar 框架之前:(
标签: ios objective-c xcode interface-builder