是否可以更改搜索栏中取消按钮的垂直位置?
Is it possible to change the vertical position of cancel button in the search bar?
当我将应用程序从 10 更新到 11 iOS SDK 时,我在 UIViewController
中将搜索栏从 UIView
移到了 navigationItem
。
此外,我设置了在 UISearchBar
中使用垂直偏移定位背景图像,因为徽标和搜索栏之间的距离很小。
searchBar.setSearchFieldBackgroundImage(searchFieldImage, for: .normal)
searchBar.searchFieldBackgroundPositionAdjustment = UIOffset(horizontal: 0, vertical: 4)
但我无法将“取消”按钮放置在垂直位置。如何设置 UISearchBar
中的取消按钮或按钮中的标题的垂直位置?
您可以增加搜索栏高度heightAnchor.constraint
以增加导航栏高度以解决图像徽标问题,检查它
在IOS11
searchController.searchBar.heightAnchor.constraint(equalToConstant: 50).isActive = true
访问取消按钮如下:-
UIBarButtonItem *cancelButton = [UIBarButtonItem appearanceWhenContainedIn:[UISearchBar class], nil];
现在尝试更新cancelButton
的框架(y轴)。
let cancelButton = UIBarButtonItem.appearance(whenContainedInInstancesOf: [UISearchBar.self])
let offset = UIOffset(horizontal: 0, vertical: 7)
cancelButton.setTitlePositionAdjustment(offset, for: .default)
也看看苹果文档 here。
当我将应用程序从 10 更新到 11 iOS SDK 时,我在 UIViewController
中将搜索栏从 UIView
移到了 navigationItem
。
此外,我设置了在 UISearchBar
中使用垂直偏移定位背景图像,因为徽标和搜索栏之间的距离很小。
searchBar.setSearchFieldBackgroundImage(searchFieldImage, for: .normal)
searchBar.searchFieldBackgroundPositionAdjustment = UIOffset(horizontal: 0, vertical: 4)
但我无法将“取消”按钮放置在垂直位置。如何设置 UISearchBar
中的取消按钮或按钮中的标题的垂直位置?
您可以增加搜索栏高度heightAnchor.constraint
以增加导航栏高度以解决图像徽标问题,检查它
在IOS11
searchController.searchBar.heightAnchor.constraint(equalToConstant: 50).isActive = true
访问取消按钮如下:-
UIBarButtonItem *cancelButton = [UIBarButtonItem appearanceWhenContainedIn:[UISearchBar class], nil];
现在尝试更新cancelButton
的框架(y轴)。
let cancelButton = UIBarButtonItem.appearance(whenContainedInInstancesOf: [UISearchBar.self])
let offset = UIOffset(horizontal: 0, vertical: 7)
cancelButton.setTitlePositionAdjustment(offset, for: .default)
也看看苹果文档 here。