我有一个 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 以进行补偿,但没有成功。老实说,我不确定搜索文本和背景偏移应该做什么,但我决定尝试一下。
有什么办法可以做到这一点吗?或者也许有不同的方法?
您可以使用调整搜索栏图标的位置
func positionAdjustmentForSearchBarIcon(_ icon: UISearchBarIcon) -> UIOffset
See https://developer.apple.com/library/ios/documentation/UIKit/Reference/UISearchBar_Class/#//apple_ref/occ/instm/UISearchBar/positionAdjustmentForSearchBarIcon https://developer.apple.com/library/ios/documentation/UIKit/Reference/UISearchBar_Class/#//apple_ref/occ/instm/UISearchBar/positionAdjustmentForSearchBarIcon:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)