表单演示文稿上的UISearchController

时间:2018-06-29 13:26:03

标签: ios11 uisearchcontroller

我目前正在将所有View Controller迁移到iPad应用程序中,以使用iOS 11标准searchController(在导航项上)。问题是,当它在iPad上以表格形式显示时,搜索栏卡在顶部。

self.definesPresentationContext = true
self.navigationItem.searchController = UISearchController(searchResultsController: nil)

enter image description here

我能在不禁用“ hidesNavigationBarDuringPresentation ”属性的情况下解决此问题吗?

1 个答案:

答案 0 :(得分:0)

我已经通过使用以下方法解决了这个问题:

searchBar.searchFieldBackgroundPositionAdjustment = UIOffset(horizontal: 0.0, vertical: 8.0)

let b: UIBarButtonItem = UIBarButtonItem.appearance(whenContainedInInstancesOf: [UISearchBar.self])
b.setTitlePositionAdjustment(UIOffset(horizontal: 0.0, vertical: 8.0), for: .default)

为了只在iPad上实现此效果,我将以下代码放在了条件中:

if (UIDevice.current.userInterfaceIdiom == .pad)

但是,我不确定这是否是正确的处理方法。