2

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

iOS 6 的图像:

适用于 iOS 6 的图像

适用于 iOS 7 的图像

适用于 iOS 7 的图像

编辑:

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

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

请帮我。

4

2 回答 2

4

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

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

确保您已将 searchbar barTintColor 属性设置为清除颜色并将 Translucent 属性设置为 No。根据 iOS 7 中的 Apple 文档,您可以设置 barTintColor 属性加上 Translucent 属性或 BackgroundImage 属性。

于 2013-11-02T12:33:04.397 回答
2

我解决了这个问题。我刚刚改变了resizableImageWithCapInsets:UIImage 的方法resizableImageWithCapInsets:resizingMode:

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

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

享受编码..!!

于 2013-11-23T15:48:16.027 回答