当我将应用程序从10到11 iOS SDK更新时,我将搜索栏从UIView
移到了navigationItem
UIViewController
。
此外,我设置在UISearchBar
中将背景图像定位为垂直偏移,因为徽标和searchBar之间的距离很小。
searchBar.setSearchFieldBackgroundImage(searchFieldImage, for: .normal)
searchBar.searchFieldBackgroundPositionAdjustment = UIOffset(horizontal: 0, vertical: 4)
但是我无法将取消按钮定位在垂直方向上。如何设置UISearchBar
中的取消按钮或按钮中的标题的垂直位置?
答案 0 :(得分:1)
按如下方式访问取消按钮: -
UIBarButtonItem *cancelButton = [UIBarButtonItem appearanceWhenContainedIn:[UISearchBar class], nil];
现在尝试更新cancelButton
的框架(y轴)。
答案 1 :(得分:1)
let cancelButton = UIBarButtonItem.appearance(whenContainedInInstancesOf: [UISearchBar.self])
let offset = UIOffset(horizontal: 0, vertical: 7)
cancelButton.setTitlePositionAdjustment(offset, for: .default)
另请参阅 apple doc here。
答案 2 :(得分:0)
您可以增加搜索栏高度heightAnchor.constraint
以增加导航栏高度以修复图片徽标问题,检查它
在IOS 11中
searchController.searchBar.heightAnchor.constraint(equalToConstant: 50).isActive = true