Tom*_*ulc 1 cocoa-touch uisearchbar ios ios7
我正在尝试自定义UISearchBar清除按钮.我可以在正常状态下为图标设置自定义图像,但是当我按下按钮时,我不知道如何为状态设置相同的图像.它始终具有系统外观.我尝试为所有可用状态设置相同的图像,但未能获得任何结果.
对于iOS7:
[self.searchBar setImage:[UIImage imageNamed:@"icon_X_black.png"] forSearchBarIcon:UISearchBarIconClear state:UIControlStateNormal];
[self.searchBar setImage:[UIImage imageNamed:@"icon_X_black.png"] forSearchBarIcon:UISearchBarIconClear state:UIControlStateHighlighted]; /// doesn't work
Run Code Online (Sandbox Code Playgroud)
当我为UIControlStateHighlightedor 设置相同时没有变化UIControlStateSelected.是否可以在iOS7中自定义此按钮?在iOS6中,当我设置相同的图标时,UIControlStateHighlighted它正常工作.
对于iOS6:
[self.searchBar setImage:[UIImage imageNamed:@"icon_X_black.png"] forSearchBarIcon:UISearchBarIconClear state:UIControlStateNormal];
[self.searchBar setImage:[UIImage imageNamed:@"icon_X_black.png"] forSearchBarIcon:UISearchBarIconClear state:UIControlStateHighlighted]; /// it works
Run Code Online (Sandbox Code Playgroud)
先感谢您.
这是iOS7非常奇怪的行为,但如果你想为两个状态设置相同的图像,解决方案是代码中语句的相反顺序
[self.searchBar setImage:[UIImage imageNamed:@"icon_X_black"] forSearchBarIcon:UISearchBarIconClear state:UIControlStateHighlighted];
[self.searchBar setImage:[UIImage imageNamed:@"icon_X_black"] forSearchBarIcon:UISearchBarIconClear state:UIControlStateNormal];
Run Code Online (Sandbox Code Playgroud)
您也可以使用不同的名称复制icon_X_black文件并使用任何顺序.