Trying to dynamically adjust the time in the status bar in iOS development; to change to a timer or other text in certain views. Can this be done without dynamically hiding/showing the entire status bar? Just trying to replace the time in varying views while keeping the native status bar.
No, you cannot access / adjust / edit the status bar. The most customization you can do is: Hide and change status bar color. You'll have to hide the status bar and show your own UIView in place of it.
Related
When running the app, part of the content is hidden behind the phone's status bar.
I've tried to look this up, but I mostly see code on how to hide the phone's status bar, but I don't want to do that; I want to keep the phone's status bar visible.
Thanks
Showing Layout Decorations under the "Eye" option shows the status bar so I can do the layout accommodating it. solved
Changing the status bar's text color in iOS7 is simple and there is a lot of information on that topic.
So, to give you some context, today I saw this tweet:
That links to this video.
I was wondering about how to do that animation and the best way I can think of is:
A screenshot of the status bar with black text color that is inserted on top of the real status bar (with white color) and then the real status bar is slowly revealed.
As #Edgar confirmed it it is really what they are doing in the video (if you keep the finger on the screen while the time changes it is possible to see that).
However, this solution isn't good enough because in the meantime the status bar can change and it can become kinda creepy.
Is there a way to do this without a screenshot?
When you start swiping it does a screenshot of the status bar and puts it at the top of the real status bar and then it changes to style UIStatusBarStyleLightContent to UIStatusBarStyleDefault.
You can clearly see this if you play around with it and start the swipe gesture but do not release it, not only after one minute the clock becomes outdated but if you happen to start swiping when the activityIndicator is on, you'll see it stays static.
Unfortunately, as far as I know there's no way to have two status bars, both with the right info. Maybe if you could come up with a way to continually take screenshots of the real one and dynamically invert colors, but that would be expensive, performance wise.
As i know the status bar color depends on the near by view attached to
status bar.
if it is connected to the navigation bar then status bar takes the
color of the navigation bar.
if navigation bar is hidden then the top view that near to the status
bar that color is taken by the status bar.
This is getting very frustrating for me because I can't get the status bar to appear in my app. Everything related as far as UI is done on storyboard. when i set my status bar:inferred, top bar: inferred in my navigation controller, the status bar shows up fine. However, I do not want the top bar to appear as it interferes with my layout, so I set the top bar to none, which results in no top bar or status bar.
How can I just make the status visible without affecting my layout? (auto-layout is enabled)
So I did more googling and research, turns out I just had to add View controller-based status bar appearance as the key and the value as NO in the .plist file
I've read a few questions here and searched around a bit but nothing seems to solve my problem. I have a side navigation controller of which I am sliding the status bar (using a technique outlined here: Moving status bar in iOS 7).
In any event, when I hide the status bar to begin the slide (as soon as I tell the view to hide the status bar and add a fake one), the entire view moves up behind my faux status bar. Is there any way to move the view down so that the faux status bar appears directly above the view?
may be some autolayout issueAs there is no status bar , the view frame went to frame.origin.y=0. Try setting the frame to origin.y=20 before you hide the status bar.
If you are adding fake status bar as subview to mainView. set frame of fake status bar view to (origin.y=-20)
I am using status bar in my app and wanted to maintain the compatibility between ios 6 and ios 7. I wanted status bar to behave same as ios 6. I don't want status bar to overlap view controllers.
Try adding the following code in your view's viewWillAppear function:
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
// if this is ios7 this code will make the view appear properly below the navigation bar
if ([[UIDevice currentDevice].systemVersion floatValue] >= 7.0) {
self.edgesForExtendedLayout = UIRectEdgeNone;
self.extendedLayoutIncludesOpaqueBars = YES;
}
}
Try this~
if(OVER_IOS7){
self.edgesForExtendedLayout = UIRectEdgeNone;
[self.navigationController.navigationBar setTranslucent:NO]
}
Try this.
add this key into info.plist file
View controller-based status bar appearance
set value for this to:- No
In iOS 7, the status bar is transparent, and other bars—that is, navigation bars, tab bars, toolbars, search bars, and scope bars—are translucent. As a general rule, you want to make sure that content fills the area behind the bars in your app.
Most bars also draw a blur behind them, unless you provide a custom background image for the bar.
iOS 7 introduces the barPosition property for identifying bar position, which helps you specify when a custom background image should extend behind the status bar. The UIBarPositionTopAttached value means that a bar is at the top of the screen and its background extends upward into the status bar area. In contrast, the UIBarPositionTop value means that a bar is at the top of its local context—for example, at the top of a popover—and that it doesn’t provide a background for the status bar.
By default, all bar buttons are borderless. For details, see Bar Buttons.
The Status Bar
Because the status bar is transparent, the view behind it shows through. The style of the status bar refers to the appearance of its content, which includes items such as time, battery charge, and Wi-Fi signal. Use a UIStatusBarStyle constant to specify whether the status bar content should be dark (UIStatusBarStyleDefault) or light (UIStatusBarStyleLightContent):
UIStatusBarStyleDefault displays dark content. Use when light content is behind the status bar. image: ../Art/status_bar_default_iphone_2x.pngimage: ../Art/status_bar_default_ipad_2x.png
UIStatusBarStyleLightContent displays light content. Use when dark content is behind the status bar. image: ../Art/status_bar_light_iphone_2x.pngimage: ../Art/status_bar_light_ipad_2x.png
In some cases, the background image for a navigation bar or a search bar can extend up behind the status bar (for details, see Navigation Bar and Search Bar and Scope Bar). If there are no bars below the status bar, the content view should use the full height of the screen. To learn how to ensure that a view controller lays out its views properly, see Using View Controllers.
In iOS 7, you can control the style of the status bar from an individual view controller and change it while the app runs. If you prefer to opt out of this behavior and set the status bar style by using the UIApplication statusBarStyle method, add the UIViewControllerBasedStatusBarAppearance key to an app’s Info.plist file and give it the value NO.