【发布时间】:2017-10-13 12:34:58
【问题描述】:
我在 iOS 11 中遇到了很多问题,并通过在导航栏上显示 UISearchController 来显示它(如 here 所述,Apple 教程中的示例)
@IBAction func searchAction(sender: UIBarButtonItem) {
// Create the search controller and specify that it should present its results in this same view
searchController = UISearchController(searchResultsController: nil)
// Make this class the delegate and present the search
self.searchController.searchBar.delegate = self
presentViewController(searchController, animated: true, completion: nil)
}
它隐藏了应用程序的UINavigationBar,并在搜索栏显示UISearchController。
问题 1. 在 iOS 11 上,它会导致搜索栏在第一次出现时与状态重叠(重试后不会重叠)。
UISearchController 首次亮相。状态栏和搜索栏之间没有空格。
UISearchController 再次出现,UINavigationBar 更大,搜索栏低于状态栏。
问题 2 在 iPhone X 上显示时它没有覆盖整个空间
我花了几个小时试图弄清楚。单击例如,是否有其他简单的方法可以在 iOS 11 上显示搜索栏。导航栏中的搜索图标?有没有办法修复 iPhone X 上的UISearchController 导航栏高度和空间?
【问题讨论】:
-
实际上,原生日历应用的搜索具有相同的行为。所以我不确定这是否是错误。但是,我也想解决您提到的问题 2。
-
您解决了吗?我看到了同样的问题。事实上,日历应用程序也出现了同样的问题。使用 iOS 11
UINavigationItem.searchController不是一种选择,因为我不希望搜索栏在导航栏上永久存在。 -
有没有人解决上述问题?我也面临同样的问题。
标签: ios iphone uisearchbar ios11 uisearchcontroller