UISearchbar自定义

时间:2016-06-17 08:02:40

标签: ios xcode swift uisearchbar

在我的应用程序中,我添加了此搜索栏:

Image1

我尝试自定义按钮,效果很好,我正在使用

searchbar.setImage(UIImage(named: "Filter_icon"), forSearchBarIcon: .Bookmark, state: .Normal)

并且按钮图标已正确更改。现在我需要改变图标的​​颜色?我该怎么办?

提前致谢。

3 个答案:

答案 0 :(得分:1)

尝试在资产目录中设置图像渲染模式。

iOS根据上下文选择渲染模式,当UIButton图像渲染模式设置为模板时,Render as图像渲染模式将设置为原始模式。

您可以在属性检查器中强制执行其行为。

首先,选择资产目录中的图像。你会看到的  在检查员Template image的底部。

Original image会覆盖视图色调的所有颜色  选择Default以保留图像的颜色。 {{1}}是我上面描述的行为。

当然你的图像应该是橙色(就像我的轮胎是绿色的)

values

答案 1 :(得分:1)

最简单的方法是更改​​图标颜色并渲染为原始颜色

 searchBar.setImage(UIImage(named: "Filter_icon")!.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal), forSearchBarIcon: .Bookmark, state: .Normal)
 searchBar.showsBookmarkButton = true

答案 2 :(得分:0)

我终于解决了设置两个不同书签按钮的问题。一个蓝色和一个灰色像这样:

searchbar.setImage(UIImage(named: "Filter_icon_blue"), forSearchBarIcon: .Bookmark, state: .Normal)
searchbar.setImage(UIImage(named: "Filter_icon_gray"), forSearchBarIcon: .Bookmark, state: .Normal)

我在assets.xcassets中创建了两个image_set,我以编程方式更改了它。