我有一个 UISearchBar,我想更改初始放大图标(出现在 UISearchBar 中间的那个)的位置以及颜色或图标。
到目前为止,我更改了色调和图标图像。
但是,仅当我在模拟器上测试应用程序但在实际设备(均运行 iOS 9.3)上测试应用程序时,新图标才会显示,它仍显示默认图标。
UISearchBar.appearance().setImage(UIImage(named: "SearchbarIcon"), forSearchBarIcon: UISearchBarIcon.Search, state: UIControlState.Normal)
至于放大图标的位置,我希望它在左侧,如果我激活 UISearchBar,它就会显示在该位置。
我在这里找到了很多答案,其中许多提供的解决方案不适用于 iOS 8.0+ 或在 Objective-C 中,我在理解它们时遇到了一些问题。
我尝试添加包含图标的自定义背景,但它显示在搜索栏的底部,而图标仍然存在:
如果我将 Y 的背景偏移更改为 -44(UISearchBar 的高度),则背景显示正常,但我无法再输入,因为似乎整个文本字段都被向上推了。我还尝试将 SearchText 的垂直偏移更改为 44 以进行补偿,但没有运气。老实说,我不确定搜索文本和背景偏移应该做什么,但我决定试一试。
有没有办法做到这一点?或者也许是不同的方法?