背景搜索栏的图像在iOS7中看起来很奇怪,但在iOS 6中看起来很好

时间:2013-09-29 13:19:18

标签: iphone ios6 ios7 uisearchbar

您好我已经在iOS 7中安装了我的应用程序,我发现了一个奇怪的UISearchBar外观。在iOS 6.x中,UISearchBar看起来很好。没有任何问题。我正在附上我的搜索栏图像。请指导我实施中的错误。苹果已经弃用或添加了什么?我被困住了,但还没有得到任何解决方案。我已经阅读了iOS转换指南,但是一切都是徒劳的。

适用于iOS 6的图片:

Image for iOS 6

适用于iOS 7的图片

Image for iOS 7

修改

我正在UISearchBar方法中设置viewDidLoad:的背景图片。

contactsSearchBar.backgroundImage=[[UIImage imageNamed:@"strip"] resizableImageWithCapInsets: UIEdgeInsetsMake(0.2,0,0.2,0)];

请帮帮我。

2 个答案:

答案 0 :(得分:4)

您还应将SearchBar的ScopeBarBackgroundImage属性设置为您为searchBar背景设置的相同图像名称,以使其具有一致的外观。

[self.searchBar setBackgroundImage:[UIImage imageNamed:@"search_bar.png"]];
[self.searchBar setScopeBarBackgroundImage:[UIImage imageNamed:@"search_bar.png"]];

确保已将搜索栏barTintColor属性设置为清除颜色,将半透明属性设置为否。 根据iOS 7中的Apple Documents,您可以设置barTintColor属性以及Translucent属性或BackgroundImage属性。

答案 1 :(得分:2)

我解决了这个问题。我刚刚用resizableImageWithCapInsets:

更改了UIImage的resizableImageWithCapInsets:resizingMode:方法
contactsSearchBar.backgroundImage=[[UIImage imageNamed:@"strip"] resizableImageWithCapInsets: UIEdgeInsetsMake(0.2,0,0.2,0) resizingMode: UIImageResizingModeStretch];

不知道为什么这适用于iOS7。在iOS7之前,我所讨论的实施工作正常。但事情现在已经解决了。虽然很晚但我很高兴。

享受编码.. !!