I'm using a UISearchDisplayController and I'm trying to set the TintColor of the UISearchBar. The problem is that the color does not come though correctly. In interface builder the color of the search bar is correct after setting the tint property, but when the app runs, the search bar will be the same color, just a lot lighter. E.g. If I set the TintColor to black in interface builder it looks right in the designer, but when I run the app the color will come though medium grey.
I have also tried setting it in code like below, with no luck.
SearchDisplayController.SearchBar.TintColor = UIColor.Black;
Any Ideas? I'm a bit lost on this one.
This seems to be a bug in iOS 5/6. Happens to me when I connect the search bar to a search display controller, but not otherwise.
How I (strangely) fixed it:
Add a segmented controller to your view, change it's tint color to your desired color. Now you will get the right color on your search bar as well.
I did not try it in Xcode but, API wise, UISearchBar has both a BackgroundColor and a TintColor and they are not identical. What you describe (grey'ing) is normal when using TintColor while using BackgroundColor should give you a pure color.
Related
Problem
Currently I'm developing an application and on iOS 16 the text color of the statusbar is often white while the background color of the customized header has a light color. In the code of the customized header there's a check that should set the correct UIStatusBarStyle based on the color of the header. When the header has a light color the text in the status bar should be black and the text should be white when the background color of the header is dark.
Since iOS 16 this logic doesn't work properly anymore and I've tried to fix it but it doesn't seem to work.
I don't have this behavior on simulators but I can reproduce it on an iPhone 12 with iOS 16.
The project uses Xamarin.iOS and C#.
What I tried
In the AppDelegate I've set the UIStatusBarStyle to DarkContent when the iOS is 16.
In the customized header I set the UIStatusBarStyle to DarkContent when the iOS is 16 with an if statement and a return. I also set the UIStatusBarStyle to DarkContent when the backgroundcolor of the header has a light color (fall back for other iOS versions).
Does anyone have the same behavior on iOS 16 with the UIStatusBarStyle? I only found one post about it and it's more for the end user and not for developers.
I just had this same issue for iOS 16. Most of my views are dark so, I was wanting a status bar with white characters ( which was working fine using UIStatusBarStyle on iOS 15), regardless of user's Darkmode/LightMode settings. I was able to achieve it by setting .preferredColorScheme(.dark) where needed.
Edit:
Just to clarify this though, .preferredColorScheme(.dark) will set your view to dark mode, so use only if that doesn't matter.
As an alternative, you might have better luck playing around with things such as
.toolbarColorScheme(.dark, for: .navigationBar)
.toolbarBackground(.visible, for: .navigationBar)
in such cases where you are using a navigation bar. If you are not using one, you might be able to achieve your aim by setting .toolbarBackground(.hidden, for: .navigationBar) and playing around with it to whatever end. Hope this helps.
To avoid confusion as to what the navigationbaractually is, here's a
As you can see, I've added a new color instead of the standard black color using:
<item name="android:navigationBarColor">#color/colorBackground</item>
But the icons are barely visible now, so I would like to change them into being black, or at least darker. I have searched SO and the webb but came up empty handed. Any ideas?
You cannot change the color of the buttons yourself.
However you can try to set the navigationbarlight to true. It should be noted that this is only available from API level 27.
windowLightNavigationBar
added in API level 27
int windowLightNavigationBar
If set, the navigation bar will be drawn such that it is compatible
with a light navigation bar background.
For this to take effect, the window must be drawing the system bar
backgrounds with windowDrawsSystemBarBackgrounds and the navigation
bar must not have been requested to be translucent with
windowTranslucentNavigation. Corresponds to setting
SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR on the decor view.
May be a boolean value, such as "true" or "false".
source
I am using the Xcode 6 GM. Adding a search bar with default settings like this
Then i changed the bar tint to "Clear Color" in the attributes inspector, then it becomes this
Back to Xcode 5.1, The same bar tint color change looks more intuitive as the clear color means seeing through.
Is this some kind of bug or an expected changes by the new Xcode?
Please Try it by change UISearchbar property Search style from default to Minimal.
My question would be that how can you set the status bar to a default color in ios7. (Like in the latest update of Facebook and Twitter app)
Thanks a lot!
The status bar doesn't have a color - it's transparent. The color you are seeing in the new Facebook app is the navigation bar that has been extended under the status bar. In iOS 7 your status bar can be transparent with white text, transparent with black text, or opaque (black). It can't be tinted, but you can give the illusion of a tint by extending your navigation bar.
iOS 7 introduces the concept of extendable view edges to allow for this sort of thing. You might want to review the UI transition guide or UIViewController documentation for more information.
It looks like you can assign a background image to the navigation bar and whatever alpha/ opacity that image has, will be picked up by the status bar.
Create your image 640x128 and whatever colour/pattern you want.
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:#"image.png"] forBarMetrics:UIBarMetricsDefault];
This will make the picture the background of the navigation bar and the status bar.
I use this myButton.setBackground(myColor) to change the JButton background color to my color, how to find it's original default background color so I can change it back? I know I can save its default background color before I change and use that, but I wonder if Java stores it somewhere so that maybe I can call something like: myButton.getClass.getDefaultBackground() to get it back ?
btn.setBackground(new JButton().getBackground());
how about this...
it will get the default color of button
myButton.setBackground(null)
changes it back to the default color.
This might help:
http://java.sun.com/j2se/1.5.0/docs/api/java/awt/SystemColor.html
Toolkit.getDesktopProperty(java.lang.String)
Toolkit.getDesktopProperty("control");
// control - The color rendered for the background of control panels and control objects, such as pushbuttons.
It works both with:
button.setBackground(null);
and
button.setBackground(new JButton().getBackground());
(when you create a new JButton, its background color is initialized as a null color)
So, choose the one you consider to be the best for your project
Don't try to get background from Jframe or other elements to apply it on the button; if you already changed it do this:
ElementToStyle.setBackground(null);
make a new button "db"
make a new variable type Color "jbb"
i.e. - Color jbb = db.getBackground();
now the default background color is stored in the Color jbb which you can now use as the color you want to find/use
Color cbt= jButton6.getBackground();
String color_button=cbt.getRed()+","+cbt.getGreen()+","+cbt.getBlue();
if you wont get RGB color button
try this code