我目前正在将所有View Controller迁移到iPad应用程序中,以使用iOS 11标准searchController(在导航项上)。问题是,当它在iPad上以表格形式显示时,搜索栏卡在顶部。
self.definesPresentationContext = true
self.navigationItem.searchController = UISearchController(searchResultsController: nil)
我能在不禁用“ hidesNavigationBarDuringPresentation ”属性的情况下解决此问题吗?
答案 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)
但是,我不确定这是否是正确的处理方法。