How do I remove the shine/glow (gradient) from the background of a Search Bar. I would like to replace it with just one color.
From this:
To something like this
Use
searchbar.backgroundImage = //your image here
and you can use a nifty category that I created for uiimage that will generate an image based on a color
https://github.com/Hackmodford/HMUIImage-imageWithColor
So all together it will look like this
searchBar.backgroundImage = [UIImage imageWithColor:[UIColor blueColor]];
That will generate the effect you want.
1 To remove the glossy background:
UISearchBar has a subview of class UISearchBarBackground, just cycle through the subviews and when you find a subview of that class, set its alpha to 0.
RubyMotion example:
searchBar.subviews.each { |v| v.alpha = 0 if v.class == UISearchBarBackground }
2 To add a solid background override the drawRect method:
RubyMotion example:
def drawRect(rect)
blackColor = '#222222'.to_color
context = UIGraphicsGetCurrentContext()
CGContextSetFillColor(context, CGColorGetComponents(blackColor.CGColor))
CGContextFillRect(context, rect)
end
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With