【发布时间】:2018-01-08 12:29:56
【问题描述】:
我将我的 searchBar 代码更改为:
self.navigationItem.titleView = searchNavigation.searchController.searchBar;
到:
if (@available(iOS 11.0, *)) {
self.navigationItem.searchController = searchNavigation.searchController;
self.navigationController.navigationBar.prefersLargeTitles = NO;
self.navigationItem.largeTitleDisplayMode = UINavigationItemLargeTitleDisplayModeNever;
} else {
self.navigationItem.titleView = searchNavigation.searchController.searchBar;
}
但在 ios 11 上尝试时看起来像
searchBar 上有额外的空间,当我开始输入它的顶部幻灯片时,看起来很正常
【问题讨论】:
-
我不记得在哪里,但我读到有人为此问题添加了 hack,
self.navigationItem.searchController?.searchBar.resignFirstResponder()self.navigationItem.searchController?.searchBar.becomeFirstResponder()在 viewWillAppear 中添加以上两行代码应该可以工作
标签: swift autolayout uinavigationbar ios11