iOS:如何用一种颜色替换搜索栏背景光泽/发光

时间:2011-07-14 15:56:53

标签: iphone objective-c ios uisearchbar searchbar

如何从搜索栏的背景中删除光泽/发光(渐变)。我想用一种颜色替换它。

由此:

enter image description here

这样的事情

enter image description here

3 个答案:

答案 0 :(得分:1)

使用

searchbar.backgroundImage = //your image here

你可以使用我为uiimage创建的一个漂亮的类别来生成基于颜色的图像

https://github.com/Hackmodford/HMUIImage-imageWithColor

所以它们一起看起来像这样

searchBar.backgroundImage = [UIImage imageWithColor:[UIColor blueColor]];

这将产生你想要的效果。

答案 1 :(得分:1)

1要删除光面背景:

UISearchBar有一个类 UISearchBarBackground 的子视图,只需循环浏览子视图,当你找到该类的子视图时,将其alpha设置为0.

RubyMotion示例:

searchBar.subviews.each { |v| v.alpha = 0 if v.class == UISearchBarBackground }  

2要添加实体背景,请覆盖drawRect方法:

RubyMotion示例:

def drawRect(rect)
  blackColor = '#222222'.to_color
  context = UIGraphicsGetCurrentContext()
  CGContextSetFillColor(context, CGColorGetComponents(blackColor.CGColor))
  CGContextFillRect(context, rect)      
end

答案 2 :(得分:0)

不要以为你可以,我自己尝试过它似乎是API的一部分,这是一个类似post的问题同样的问题 FB一个是纯色的原因是因为af app使用了Three20框架。但即使他们缩小尺寸仍然是原始的30兆像素,对于你的情况下的搜索栏来说极度过分

甚至不知道图像是否会起作用,因为您无法将条形图周围的区域设置为透明或透明以在其下放置图像